The goal of this project is to provide a fast and robust solution to start your project in NestJS.
- Clone repo:
git@github.com:Alejandrehl/nestjs-rest-template.git
- Create .env file:
cp .env.example .env
- Setup your environment variables in
.env
file. - Change
name
,version
,description
andauthor
inpackage.json
file. - Install dependencies:
yarn install
- Run project:
yarn start:dev
- OpenAPI (Swagger)
- MongoDB
- Typegosee
- JWT
- Sendgrid
- @nestjs/config: Configuration module for Nest based on the dotenv (to load process environment variables) package.
- @nestjs/schedule: Distributed Schedule module for Nest based on the node-schedule package.
- @nestjs/terminus: This module contains integrated healthchecks for Nest.
- nestjs-typegoose: Injects typegoose models for nest components and controllers. Typegoose equivalant for @nestjs/mongoose.
- @ntegral/nestjs-sendgrid: Injectable SendGrid client for your nestjs projects.
- mongoose: Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment. Mongoose supports both promises and callbacks.
- @typegoose/typegoose: Define Mongoose models using TypeScript classes.
- @nestjs/swagger: OpenAPI (Swagger) module for Nest.
- swagger-ui-express
- bcryptjs: A bcrypt library for NodeJS.
- class-validator: Allows use of decorator and non-decorator based validation. Internally uses validator.js to perform validation. Class-validator works on both browser and node.js platforms.
- BcryptJS: Optimized bcrypt in plain JavaScript with zero dependencies. Compatible to 'bcrypt'.
- @nestjs/passport: Passport utilities module for Nest.
- passport-jwt: Passport authentication strategy using JSON Web Tokens.
- @nestjs/jwt: JWT utilities module for Nest based on the jsonwebtoken package.
- passport: Simple, unobtrusive authentication for Node.js.
- class-transformer: Proper decorator-based transformation / serialization / deserialization of plain javascript objects to class constructors.
- Testing
- HealthCheck