Template para projetos em NestJS pré-configurado e permitindo que se concentrem no desenvolvimento de recursos específicos do aplicativo.
Template inicial para projetos em NestJS pré-configurado e permitindo que se concentrem no desenvolvimento de recursos específicos do aplicativo. O template utiliza o framework NestJS para NodeJS, empregando o TypeScript para a sintaxe. Já vem com várias dependências instaladas, incluindo o Terminus para utilização do módulo de Health, permitindo obter informações sobre o uso dos recursos da API, pré-configuração do Prisma ORM com o banco SQLite, pré-configuração do token JWT, além de bibliotecas como axios, Moment, Class Validator, suporte para cobertura de testes com Jest, padrão de código com ESLInt, commits com Commitizen e exemplo de documentação com Swagger, além de suporte a temas com Swagger themes e Workflows pré configurados para o Github, com esteiras para deploy de ambientes dev, stage e prod com listagem de commits e reset e reversão.
- JWT Token configurado
- Exemplo de rotas com autenticação
- Terminus Module para verificar recursos da API
- Prisma ORM para manipulação de dados do banco
- Configuração para o SQLite
- Class Validator para DTO
- Imagem Docker para MySQL
- Converter BigInt para JSON (Serialização)
- Exemplo de documentação com Swagger
- Padronização de sintaxe de código com ESLint e Prettier
- Padronização de commits semânticos e esteira com Commitizen
- Workflows para ambientes: dev, stage e prod
- Configuração de ecosystem.config para acoplação ao PM2
- Lib Moment para manipulação de datas com helper para checar formato de datas
- Helper para remover espaços sobressalentes de string's
- Suporte a temas para o Swagger
- NodeJS
- TypeScript
- NestJS
- JWT
- Terminus
- axios
- Moment
- Class Validator
- Prisma ORM
- Jest
- Commitizen
- ESLInt
- Prettier
- Swagger
- Swagger themes
Método | Endpoint | Resumo | Autenticação | Role |
---|---|---|---|---|
GET | / | Responsável por ser o endpoint inicial | Não | * |
GET | /auth/login | Responsável por autenticar o usuário, gerando o Bearer Token JWT | Sim | * |
POST | /users | Responsável por cadastrar o usuário | Não | * |
GET | /users | Responsável por listar todos os usuários com paginação | Sim | * |
GET | /users/:id | Responsável por buscar usuário, informando o ID | Sim | * |
PATCH | /users/:id | Responsável por atualizar as informações de um usuário, informando o ID | Sim | * |
DELETE | /users/:id | Responsável por desabilitar um usuário, informando o ID | Sim | * |
GET | /health | Responsável por utilizar o Terminus para consulta dos recursos de uso da API | Sim | * |
GET | /docs | Responsável por servir a documentação dos recursos da API | Não | * |
# Clone este repositório:
$ git clone https://github.com/CleilsonAndrade/nestjs-boilerplate.git
$ cd ./nestjs-boilerplate
# Instalar as dependências:
$ yarn install
# Gerar o código TypeScript com base nos modelos do Prisma:
$ npx prisma generate
# Aplicar migrações ao banco de dados:
$ npx prisma migrate dev
# Executar:
$ yarn start:dev
# Executar testes:
$ yarn test:watch
# Utilizar a esteira para commits:
$ yarn commit
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Feito com 💜 by CleilsonAndrade