This is the fourth homework assignment in the Fullstack Bootcamp, building upon the previous projects that focused on HTTP requests, contact management, and integration. This module introduces authentication with (JWT) and enhances the contact management system with additional features.
- (GET)
/api/contacts
: Retrieve a list of all contacts. - (GET)
/api/contacts/
:contactId: Retrieve a specific contact by ID. - (POST)
/api/contacts
: Add a new contact to the list. - (PUT)
/api/contacts/
:contactId: Update an existing contact's information. - (PATCH)
/api/contacts/
:contactId/favorite: Partially update an existing contact's information. - (DELETE)
/api/contacts/
:contactId: Delete an existing contact from the list.
- (POST)
/api/users/signup
: Register a new user. - (POST)
/api/users/signin
: Login and obtain a JWT. - (POST)
/api/users/logout
: Logout the user. - (GET)
/api/users/current
: Retrieve information about the currently logged-in user.
- (GET)
/api/contacts?page=<page_number>&limit=<page_size>
: Retrieve paginated contacts. - (GET)
/api/contacts?favorite=true
: Retrieve contacts marked as favorites. - (PATCH)
/api/users
: Update the user's subscription level.
- : The runtime environment for executing the application.
- : A NoSQL database for data persistence.
- : An ODM (Object Data Modeling) library for MongoDB and Node.js.
- : Used for user authentication.
- : A web application framework for building RESTful APIs.
- : Data interchange format used in the project.
If you encounter any issues or have suggestions, please open an issue.
I welcome feedback and suggestions from users to improve the application's functionality and user experience.