User microservice to Create, Read, Update and Delete Users.
You must configure .env file following the .env.example template. Some envs come directly from the AWS Parameter Store, so it is very important to have configured the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY values so that all application envs are loaded correctly.
(Back to Table of contents ⬆️)
To run this project with docker, ensure that you have the following items:
(Back to Table of contents ⬆️)
Start the node server with the following commands:
docker compose builddocker compose up -d(Back to Table of contents ⬆️)
To run this project, ensure that you have the following items:
- Node.JS (v20.9.0)
- Configured .env file
(Back to Table of contents ⬆️)
-
Clone this repository to your local machine or download the source code.
-
Open a terminal and navigate to the project's root directory.
-
Run the following command to install the project dependencies:
npm install
(Back to Table of contents ⬆️)
Start the node server in developer mode with the following command:
npm run start:devThis will start the server and watch for any file changes, automatically restarting the server when necessary.
(Back to Table of contents ⬆️)
-
Run the following command to execute the project tests:
npm run test
(Back to Table of contents ⬆️)
- All endpoints can be found here.
- Except healthcheck, all endpoints have the prefix
/apifollowed by the route version, for example/api/v1/. - All endpoints require authorization, which can be passed through the
Authorizationheader with a valid JWT token (this can be obtained by making a POST request on the login route with username and password). - The
Authorizationheader is anBearer Token.
(Back to Table of contents ⬆️)
(Back to Table of contents ⬆️)
(Back to Table of contents ⬆️)
(Back to Table of contents ⬆️)
.vscode: vscode configs.docs: all project documentations, like scripts, diagrams, texts.srcconfig: generic project configurations, like database configs, commit configs..husky: project validations with husky.database: database configs.models: database models.
envs: local and async envs configs.
controllers: application controllers.entities: application entities.interfaces: application interfaces.dtos: application dtos.middlewares: application middlewares.repositories: application repositories.routes: application routes.v1: v1 endpoints.
services: application services.utils: common utils functions, constants, and application dependencies.logger: logger module.
tests: project tests.