This project uses npm
as the package manager. To install all dependencies, run npm install
.
To automate tasks, use the following npm
scripts in your terminal:
Builds the application, placing the result into the dist
folder.
Starts the application (first you need to run the npm run build
command).
Runs application tests.
Runs the application with nodemon
, opening a debugger port.
Checks code formatting.
Applies formatting styles to the code.
Integrates facade and domain layers, responsible for data parsing.
Connects with the GitHub API with minimal business logic, acting as a bridge.
Shares project configuration among all layers.
Registers all containers using tsrying
, including tokens and containers.
Establishes communication in the "in-house" layer, in this case the Cache logic.
Presents data through routes and controllers.
All tests are located within this layer.
- Expand test coverage across different layers, including infrastructure and configuration.
- Enhance TypeScript usage and type definitions.
- Improve Swagger implementation to cover more cases.
- Modify memory cache logic to use a different approach like caching with Redis.
- Implement Docker for running the application.
- Set up pipelines to run tests with each push.
- Incorporate a PR template for contributing guidelines.