Best uses for RESTFUL API, Microservice, or SaaS Project
ack-nestjs-boilerplate-mongoose is a NestJs Boilerplate with Mongoose and MongoDB as Database.
Made with following
- nodejs-best-practice
- The Twelve-Factor App
- NestJs Habit.
You can Request Feature or Report Bug with following this link
If you change env value of APP_MODE
to secure
that will trigger more validation.
x-timestamp
, tolerant 5 minutes of request.user-agent
, whitelist of user agent.x-api-key
, check api key.- check cors origin
You can see our e2e testing file
or read the documentation on section environment.
- NestJs v8.x
- NodeJs v17.x
- Typescript v4.x
- Mongoose v6.x
- MongoDB v5.x
- Yarn v1.x
- NPM v8.x
- Docker v20.x
- Docker Compose v2.x
ack-nestjs-boilerplate-mongoose have some objective.
- Simple, scalable and secure
- Avoid spaghetti code
- Component based
- Reusable component
- Easy to maintenance
- Support for all microservice patterns
- NestJs v8.x ๐ฅณ
- Typescript ๐
- Authentication and Authorization (OAuth2, API Key, Basic Auth) ๐ช
- Mongodb integrate by using Mongoose Package ๐
- Database Migration
- Integrate with AWS
- Server Side Pagination
- Url Versioning
- Request Validation Pipe
- Custom error status code ๐คซ
- Logger and Debugger ๐
- Centralize Configuration ๐ค
- Centralize Exception Filter
- Multi-language (i18n)
- Dynamic Setting from Database ๐ฟ
- Maintenance Mode on / off
- Support Docker Installation
- Support Docker Installation
- Support CI/CD with Github Action or Jenkins
- Husky GitHook For Check Source Code, and Run Test Before Commit ๐ถ
- Linter with EsLint for Typescript
We assume that everyone who comes here is programmer with intermediate knowledge
and we also need to understand more before we begin in order to reduce the knowledge gap.
- Understand NestJs Fundamental, Main Framework. NodeJs Framework with support fully TypeScript.
- UnderstandTypescript Fundamental, Programming Language. It will help us to write and read the code.
- Understand ExpressJs Fundamental, NodeJs Base Framework. It will help us in understanding how the NestJs Framework works.
- Understand what NoSql is and how it works as a database, especially MongoDB.
Next development
- Documentation
- Unit Testing
- Integration Testing
- Github action CI/CD
- Github action Auto Release
- Jenkins update script
- Limitation of pagination, available sort - sort - limit page - limit perPage
- Health Check Separate Endpoint
- Timestamp Tolerance Middleware
- Optimize code
- Whitelist user agent
- Docker Compose File Mongodb Replication Set
- API Key Guard
- Master Settings
- Scheduler
- Flag on / off scheduler
- Flag on / off http
- Swagger
See our e2e testing
Nestjs microservice or Kafka integration will put in separate repo ack-microservice-nestjs-boilerplate-mongoose.
Distributed under MIT licensed.
Thanks goes to these wonderful people
Tiaamoo |