Description • Stack • Installation • Database • Entity Relationship Diagram • Running the app • Endpoints • Test • Video Tutorials • Helpful repos • Node best practices • License
A dockerized boilerplate Node.js API using NestJS and Typescript that includes Authentication, Input validation, Error handling, Logging, API versioning and Pagination.
Language | Typescript |
Framework | NestJS |
Database | Postgres |
ORM | Prisma |
E2E Testing | Jest & Pactum |
Load Testing | k6 |
Documentation | Swagger |
Linter | Prettier |
CI | Github Actions |
$ npm install
# Start postgres container and push migrations
$ npm run db:dev:restart
# Generate migrations
$ npm run prisma:dev:migrate
# Seed data
$ npx prisma db seed
# View data
$ npx prisma studio
# Development
$ npm run start
# Watch mode
$ npm run start:dev
# Production
$ npm run start:prod
# API
http://localhost:8080
# Swagger
http://localhost:8080/api
# Grafana
http://localhost:3000/d/k6/k6-load-testing-results
# Run e2e tests
$ npm run test
# Run tests with coverage
$ npm run test:cov
# Run load tests
$ npm run test:load
- NestJs Course for Beginners - Create a REST API
- Building a REST API with NestJS and Prisma - Marc Stammerjohann
- https://github.com/vladwulf/nestjs-api-tutorial
- https://github.com/marcjulian/nestjs-prisma-workshop
- https://github.com/brocoders/nestjs-boilerplate
- https://github.com/deboraornellas/nestjs-testing
- https://github.com/makinhs/medium-article-code-cov
- https://github.com/tkssharma/nestjs-advance-course
This project is licensed under the MIT License - see the LICENSE file for details.