2.7 KiB
NestJS TypeORM Boilerplate
Este repositório é um boilerplate para iniciar um projeto usando NestJS com TypeORM. Ele fornece uma estrutura inicial para desenvolver APIs com suporte a banco de dados relacional, incluindo scripts para gerenciamento de migrações, testes, linting e formatação de código.
Estrutura do Projeto
A estrutura do projeto segue as melhores práticas recomendadas pelo NestJS, incluindo a organização de módulos, controladores, serviços e entidades. O TypeORM é configurado para trabalhar com PostgreSQL, mas pode ser facilmente adaptado para outros bancos de dados suportados.
Pré-requisitos
- Node.js v16 ou superior
- npm v8 ou superior
- Banco de dados PostgreSQL
Instalação
-
Clone o repositório:
git clone https://gitea.pradoc.com.br/Rhuan/NestJS-Boilerplate.git cd nestjs_typeorm -
Instale as dependências:
npm install -
Configure as variáveis de ambiente criando um arquivo
.envna raiz do projeto. Exemplo:DATABASE_HOST=localhost DATABASE_PORT=5432 DATABASE_USER=seu-usuario DATABASE_PASSWORD=sua-senha DATABASE_NAME=seu-banco-de-dados JWT_SECRET=sua-chave-secreta
Scripts Disponíveis
Desenvolvimento
-
Iniciar o servidor em modo de desenvolvimento:
npm run start:dev -
Iniciar o servidor com depuração:
npm run start:debug
Produção
-
Construir o projeto:
npm run build -
Iniciar o servidor em modo de produção:
npm run start:prod
Linting e Formatação
-
Lint do código:
npm run lint -
Formatar o código:
npm run format
Testes
-
Executar todos os testes:
npm run test -
Executar os testes em modo de observação:
npm run test:watch -
Executar testes com cobertura:
npm run test:cov -
Executar testes end-to-end:
npm run test:e2e
Migrações TypeORM
-
Criar uma nova migração:
npm run typeorm:create -
Gerar uma nova migração com base nas mudanças nas entidades:
npm run typeorm:generate -
Executar as migrações:
npm run typeorm:run -
Reverter a última migração:
npm run typeorm:revert
Autor
Este boilerplate é uma excelente base para projetos NestJS utilizando TypeORM, com suporte completo a desenvolvimento, testes, linting, formatação e gerenciamento de migrações de banco de dados.