The sixth homework assignment marks a pivotal advancement in our ongoing project, seamlessly building upon the foundations established in prior modules. In this iteration, we introduce a critically important feature—email verification—leveraging the robust capabilities of the Nodemailer API. This module is meticulously crafted with a singular focus: to fortify user security and elevate the precision of access control mechanisms within our application.
The sixth homework assignment builds upon prior projects, introduces a crucial feature—email verification using the Nodemailer API. This module is dedicated to fortifying user security and refining access control within our application.
- (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. - (PATCH)
/api/users/avatars
: Change the user's avatar. - (GET)
/api/users/verify/:verificationToken
: Verify the user's email address using the provided token. - (POST)
/api/users/verify
: Request a second verification email.
- (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.
- : Email sending module for Node.js.
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.