Nestjs Rest Sample

screenshot of Nestjs Rest Sample
express
nestjs

NestJS RESTful APIs Sample

Overview:

The NestJS Sample is a RESTful API project that complies with the Richardson Maturity Model. It includes features such as custom Mongoose integration, Passport/Jwt authentication, and comprehensive testing with Jest and related libraries. The project also provides documentation, guides on connecting to MongoDB, protecting APIs with JWT tokens, and handling user registration.

Features:

  • RESTful APIs: Satisfies Richardson Maturity Model (Level 2).
  • Custom Mongoose Integration: Utilizes a custom module for Mongoose integration instead of @nestjs/mongoose.
  • Passport/Jwt Authentication: Implements authentication using simple text secrets.
  • Fully Testing Codes: Includes comprehensive testing with Jest, jest-mock-extended, ts-mockito, and @golevelup/ts-jest.
  • GitHub Actions Workflow: Features a workflow for continuous testing, code coverage report, Docker image building, and more.
  • Documentation: Provides guides for connecting to MongoDB, protecting APIs with JWT tokens, and handling user registration.
express
Express

Express.js is a simple Node.js framework for single, multi-page, and hybrid web applications.

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.