Nest Boilerplate

screenshot of Nest Boilerplate

NestJS boilerplate with Typescript , Postgres , TypeORM and fully CI-CD with GitHub Action and GKE

Overview

The Nest Boilerplate is an impressive starting point for developers looking to create robust applications using the NestJS framework. Built to be production-ready, it integrates powerful technologies like Fastify, TypeORM, and PostgreSQL, streamlining the often-complex development process. With built-in tooling for testing, linting, formatting, and continuous integration/continuous deployment (CI/CD), this boilerplate serves as an ideal foundation for projects that demand reliability and maintainability.

Furthermore, the application leverages a modular structure and best practices such as CQRS and CASL for authorization, making it easier to scale and manage larger projects. If you're looking for a sophisticated boilerplate that embodies modern development practices, the Nest Boilerplate is certainly worth considering.

Features

  • Fastify Platform: Utilizes Fastify for high performance and low overhead, ensuring your application runs efficiently.
  • TypeORM and PostgreSQL: Seamlessly integrates TypeORM with PostgreSQL for managing your database with ease and reliability.
  • Robust Authentication: Implement token-based authentication using JWT, boosting security for user sessions.
  • Comprehensive Tooling: Equipped with pnpm for package management, ESLint for linting, Prettier for code formatting, and Jest for testing, providing a solid development experience.
  • Docker Support: Simplifies deployment with Docker and Docker Compose, allowing for consistent environments across different stages.
  • Automated CI/CD: Built-in GitHub Actions integration promotes continuous integration and deployment, making code deployment efficient and error-free.
  • API Documentation: Swagger UI automatic setup enhances the visibility of your API endpoints with organized documentation for developers.
  • Convention-Driven Development: Ensures quality with enforced conventional commits via CommitLint and Husky, along with automated versioning through Semantic Release.
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.