๐ซ A Class Base Routing Boilerplate for Node.js, Express.js, MongoDB with Typescript.
Try to implement A Class Base Routing with clean structure and scalable boilerplate in Node.js,Express.js and Typescript.
- Sentry catch errors.
- API Documentation using Swagger.
- Basic Security Features using Helmet, hpp and xss clean.
- Validation using class-validator
- class base routing using routing-controllers
- Authentication - using Passport.js passport-jwt which is compatible with Express.js and is a authentication middleware for Node.js.
- Database using mongoose odm for interacting with mongoDB.
- run testing using Jest
- linting using ESLint
- prettier using Prettier
install dependencies
yarn
Note: It is assumed here that you have MongoDB running in the background.
set .env.development.local
file with your credentials.(like DB URL)
Run the app
yarn dev
Note: It is assumed here that you have installed Docker and running in the background.
yarn docker:db
set .env.development.local
file with your credentials.(like DB URL)
Run the app
yarn dev
you can access swagger documentation at http://localhost:3000/api-docs
express-typescript-boilerplate
โโ .github
โ โโ workflows
โ โโ tests.yml
โโ README.md
โโ ecosystem.config.js
โโ jest.config.js
โโ package.json
โโ src
โ โโ __tests__
โ โ โโ api
โ โ โ โโ v1
โ โ โ โโ auth
โ โ โ โโ users
โ โโ api
โ โ โโ v1
โ โ โโ auth
โ โ โ โโ renewablesSelected.controller.ts
โ โ โ โโ dtos
โ โ โโ index.ts
โ โ โโ user
โ โ โโ user.controller.ts
โ โโ app.ts
โ โโ common
โ โ โโ constants
โ โ โ โโ index.ts
โ โ โโ interfaces
โ โ โ โโ crud.interface.ts
โ โ โ โโ timestamp.interface.ts
โ โ โโ types
โ โโ config
โ โ โโ index.ts
โ โ โโ passport.ts
โ โโ exceptions
โ โ โโ HttpException.ts
โ โโ index.ts
โ โโ middlewares
โ โ โโ auth.middleware.ts
โ โ โโ handlingErrors.middleware.ts
โ โ โโ validation.middleware.ts
โ โโ models
โ โ โโ tokens.model.ts
โ โ โโ gld-spy-graph.model.ts
โ โโ services
โ โ โโ v1
โ โ โโ gld-spy-graph.service.ts
โ โ โโ index.ts
โ โ โโ token.service.ts
โ โ โโ user.service.ts
โ โโ utils
โ โโ toJSON.plugin.ts
โโ tsconfig.json