A Markdown Blogging Web Application Based on MEAN Stack. The front-end markdown blog editor and previewer is developed by Angular CLI. The back-end blog server that implement the RESTful API to save and publish blog posts is developed by Node.js, Express and MongoDB; JSON Web Token (JWT) was used to authenticate users.
Developed by Angular CLI
URL | state |
---|---|
/ |
This default path shows only the list pane, without showing the edit or preview view |
/edit/:id |
This path shows the list pane and the "edit view" for the post with postid=id |
/preview/:id |
This path shows the list pane and the "preview view" of the post with postid=id |
Developed by Node.js, Express and MongDB
# | URL | method | functionality |
---|---|---|---|
1 | /blog/:username/:postid |
GET | Return an HTML-formatted page that shows the blog post with postid written by username . |
2 | /blog/:username |
GET | Return an HTML page that contains first 5 blog posts by username . |
3 | /login?username=:username &password=:password &redirect=:redirect |
GET | If either username or password is missing or if they don't match to our record, return an HTML page with the username and password form fields. If they match, set an authentication session cookie in JSON Web Token (JWT), and redirect to redirect . |
4 | /api/:username |
GET | This is the REST API used by the Angular blog editor to retrieve all blog posts by username |
5 | /api/:username/:postid |
GET, POST, PUT, DELETE | This is the REST API used by the Angular blog editor to perform a CRUD operation on the user's blog post |
6 | /edit/ |
GET | The main URL from which the user can access the Angular blog editor app |