Repository navigation
Assignment 2
For this assignment, you will develop a REST API using Node.js, Express, Jest, and Swagger. The API specifications should follow those outlined in Assignment 1.
Additionally, you must expand the API to include full CRUD operations for managing users. Each user should have a username, email, and any other necessary information for managing user profiles.
The API should connect Users, Posts, and Comments in a way that reflects real-world interactions: each user can create posts and add comments to specific posts.
You’ll also implement API endpoints for user registration, login, and logout, using JWT authentication with a refresh token system to manage session renewal.
Each API endpoint must be covered with unit tests using Jest to ensure functionality. Make sure that your coverage is sufficient.
Finally, document the entire API using Swagger to provide a clear, organized overview of the available endpoints and their usage.
As in the previous assignment, each team member is expected to complete their portion of the work and collaborate through GIT pull requests.
The code must be in TypeScript.
In the submission you should provide the following:
Link to the code git.
Link to a short clip showing the tests running.
A screenshot of the git network graph showing the collaboration and pull requests is attached.
A screenshot of jest coverage of your code, like this one: