This is my portfolio website 🎉
- An admin can login into his account.
- An admin can create a blog post.
- An admin can edit a blog post.
- An admin can delete a blog post.
- A user can view all blog post.
- A user can view a specific blog post.
- An admin can view all queries.
- An admin can view a specific query.
- An admin can delete a specific query.
- A user can add a comment on a specific blog post.
- A user can like a specific blog post.
To view the UI click here
API endpoints are hosted Here
API endpoints Documentation are hosted Here
- NodeJS - JavaScript Runtime Environment
- ExpressJs - A Minimal Web Application Framework
- MongoDb - A document database, which means it stores data in JSON-like documents.
- Mocha - A JavaScript test framework for Node.js programs, asynchronous testing, test coverage reports, and use of any assertion library
Ensure you have NodeJS installed on your computer by entering node -v
on your terminal. If you don't have NodeJS installed go to the NodeJS Website, and follow the download instructions
Clone the app
https://github.com/nraufu/portofolio.git
Install all the packages
npm install
Run the server
npm start
Run Test case
npm run test
Endpoint | Functionality |
---|---|
POST /auth/login | admin log into his account |
POST /posts/ | Admin create a blog post |
GET /posts/ | retrieve all blog posts |
GET /posts/:id | retrieve a specific blog post |
PATCH /posts/:id | Admin modify a specific blog post |
DELETE /posts/:id | delete a specific blog post |
POST /queries/ | create a query |
GET /queries/ | Admin retrieve all queries |
GET /queries/:id | Admin retrieve a specific query |
DELETE /queries/:id | Admin delete a specific query |
POST /posts/comment/:id | add a comment on a specific blog post |
POST /posts/like/:id | add a like on a specific blog post |
- MIT