Nestjs Starter Rest Api

screenshot of Nestjs Starter Rest Api
nestjs

NestJS Starter Kit. Monolithic Backend. REST API.

Overview:

The NestJS Starter Kit is a lightweight project template designed to make it easy to start building a monolithic REST API using NestJS. It includes various features such as authentication with JWT, authorization with RBAC, ORM integration with TypeORM, and more. The starter kit also comes with additional minor features like prettier integration, commit-linting husky hooks, and SonarCloud GitHub actions. The creators of the starter kit have tried these features in their own production applications and strive to bring those features into the OSS starter kit.

Features:

  • Authentication: JWT-based authentication.
  • Authorization: Role-based access control (RBAC).
  • ORM Integration: Integration with TypeORM for object-relational mapping.
  • DB Migrations: Support for database migrations using TypeORM.
  • Logging: Logging of application events using winston.
  • Request Validation: Input validation using class-validator.
  • Pagination: Support for SQL offset and limit for paginated queries.
  • Docker Ready: Dockerfile included for easy containerization.
  • Auto-generated OpenAPI: Automatic generation of OpenAPI documentation.
  • Auto-generated ChangeLog: Work in progress for generating change logs.

Summary:

The NestJS Starter Kit is tailored for building monolithic REST APIs using NestJS. It provides essential features like authentication, authorization, ORM integration, and more, while keeping the kit lightweight. Additional minor features and production-tested implementations are included to enhance development experience. The installation process involves setting up the environment, generating JWT authentication keys, and running the project with or without Docker. By following the provided documentation, developers can quickly get started with building their own NestJS-based projects.

nestjs
Nest

A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.