Template inicial para projetos em NestJS com configuração inicial e permitindo que se concentrem no desenvolvimento de recursos específicos do aplicativo.
Template inicial para projetos em NestJS com configuração prévia, permitindo que os desenvolvedores 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
Endpoint | Resumo | Autenticação |
---|---|---|
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 |
# 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