This project uses the NestJS framework and it takes advantage of both Object Oriented programming with SOLID principles, and the Reactive functional programming with RxJS and Rambda to implement the Recruitment test for the Lepaya backend team.
- src
-
- app - contains the main application module
-
- lepaya - contains the aggregates of the course domain
-
- libs - contains reusable and agnostic pure functions
- main.ts - app bootstrap file
- Swagger Open Api integration on http://localhost:3000/api-docs/ with fully typed definitions
- Dynamic configuration module with validation and type inferring
- Audit logs with nestjs/event-emitter based on the Observer Pattern
- API nested field resolution using functional composition
- NestJS, RxJS, and Rambda integration
- Unit and e2e tests with jest
- Global error handling with exception filters
- Node engines version check
$ npm install
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov
- A bit more logic to check the Algorithm complexity
- Improve design patterns
- Unit test coverage