Contains the backend implementation of a Contact Manager API. It exposes REST APIs for contact and user profile management:
- User registration,
- User login,
- User profile update,
- User retrieval by username,
- User retrieval by email,
- User retrieval by role,
- Contact group creation,
- Contact group update,
- Contact group deletion,
- Contact group retrieval by name,
- Contact creation,
- Contact update,
- Contact deletion,
- Contact retrieval by email.
- Nodejs (v22.13.1)1,
- MongoDB.
A thorough presentation of the tests conducted during development can be found in the QA-test-plan.
- Authentication: Single factor, local authentication.
- Authorization: JSON Web Token (JWT)
Compared to the Task Manager API project, the Contact Manager API project uses:
-
a syntactical pattern for git commits similar to the one proposed in Conventional Commits:
<type>[optional scope]: <description>
, -
pino for generating and saving log messages,
-
api versioning,
-
a common directory for all custom error classes to take advantage of class inheritance:
Footnotes
-
According to the Release Schedule, Node.js v22 will enter its maintenance phase in the last quarter of 2025. During that period, it is recommended that the project should migrate to the latest active LTS version. ↩