Nest.js framework with TypeScript(Nest )
Uses Typescript strict null checks
ES2017 latest features like Async/Await
CORS enabled
Uses npm
Express + MongoDB (Mongoose )
Consistent coding styles with Prettier
Docker support
Uses helmet to set some HTTP headers for security
Load environment variables from .env files with dotenv
Request validation with class-validator
Linting with eslint
Tests with Jest
Code coverage with istanbul
Git hooks with husky
Logging with Pino & pino-http
Authentication and Authorization with passport
Automatic OpenAPI documentation generation with Swagger
Continuous integration & CD support with Github Actions
Monitoring with ElasticSearch and Kibana
Set environment variables:
Comfortable development with docker support:
# run containers locally
$ npm run docker:dev
# run container in production
npm run docker:prod
# run tests
npm run docker:test
# development - Watch mode
$ npm run start
# Debug mode
$ npm run start:debug
# lint code with ESLint
$ npm run lint
# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov