Nestjs API Boilerplate: Typescript, Postgresql, TypeORM, Swagger for Api documentation, Passport-JWT authentication, Jest, Env configuration, Migrations, Seeds, Docker, most popular node js libraries, and best application architecture.
This is an a personal effort made with love to setup this architecture and dev environment for new node projects using NestJS.
# 1. Clone the repository or click on "Use this template" button.
git clone https://github.com/MidoAhmed/nestjs-api-boilerplate nestjs-api-boilerplate
# 2. Enter your newly-cloned folder.
cd nestjs-api-boilerplate
# 3. Install dependencies.
npm i
# 4. Run docker containers and open http://localhost:8080 (Adminer)
npm run docker:up
# 5. Run development server and open http://localhost:3000
npm run start:dev
# 6. Read the documentation linked below for "Setup and development" (Sorry ! it is not yet available).
- Quick scaffolding
- Create modules, services, controller - right from the CLI!
- Developer friendly
- Enjoy the best Developer eXperience.
- JWT Authentication
- Installed and configured JWT authentication.
- Next generation Typescript
- Always up to date typescript version.
- best application architecture
- Empowered with best practices facilitating the development of scalable server-side applications
- Environment Configuration
- development, staging and production environment configurations
- Swagger Api Documentation
- Already integrated API documentation. To see all available endpoints visit http://localhost:3000/docs
- Seeding Database
- Awesome way to seed test data into your database using typeorm-seeding
- Migrations
- Already provided and configured npm script commands to run our migration process, see 'migrations.doc.txt'
- Caching
- high performance data access using Redis store
- Documentation
- Already setup Compodoc
- Production grade logging system
- Setup an external logger for production grade logging system - winston
- AWS S3
- AWS SDK used for S3, tested with MinIO Server
- Linter
- tslint + eslint + prettier = โค๏ธ
- TypeScript source code Documentation
- Use a documentation generator for TypeScript projects such as or other alternative - https://typedoc.org/
This project includes a docs
folder with more details on: