127 lines
2.7 KiB
Markdown
127 lines
2.7 KiB
Markdown
# NestJS TypeORM Boilerplate
|
|
|
|
Este repositório é um boilerplate para iniciar um projeto usando [NestJS](https://nestjs.com/) com [TypeORM](https://typeorm.io/). 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
|
|
|
|
1. Clone o repositório:
|
|
```bash
|
|
git clone https://gitea.pradoc.com.br/Rhuan/NestJS-Boilerplate.git
|
|
cd nestjs_typeorm
|
|
```
|
|
|
|
2. Instale as dependências:
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
3. Configure as variáveis de ambiente criando um arquivo `.env` na raiz do projeto. Exemplo:
|
|
```env
|
|
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:
|
|
```bash
|
|
npm run start:dev
|
|
```
|
|
|
|
- Iniciar o servidor com depuração:
|
|
```bash
|
|
npm run start:debug
|
|
```
|
|
|
|
### Produção
|
|
|
|
- Construir o projeto:
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
- Iniciar o servidor em modo de produção:
|
|
```bash
|
|
npm run start:prod
|
|
```
|
|
|
|
### Linting e Formatação
|
|
|
|
- Lint do código:
|
|
```bash
|
|
npm run lint
|
|
```
|
|
|
|
- Formatar o código:
|
|
```bash
|
|
npm run format
|
|
```
|
|
|
|
### Testes
|
|
|
|
- Executar todos os testes:
|
|
```bash
|
|
npm run test
|
|
```
|
|
|
|
- Executar os testes em modo de observação:
|
|
```bash
|
|
npm run test:watch
|
|
```
|
|
|
|
- Executar testes com cobertura:
|
|
```bash
|
|
npm run test:cov
|
|
```
|
|
|
|
- Executar testes end-to-end:
|
|
```bash
|
|
npm run test:e2e
|
|
```
|
|
|
|
### Migrações TypeORM
|
|
|
|
- Criar uma nova migração:
|
|
```bash
|
|
npm run typeorm:create
|
|
```
|
|
|
|
- Gerar uma nova migração com base nas mudanças nas entidades:
|
|
```bash
|
|
npm run typeorm:generate
|
|
```
|
|
|
|
- Executar as migrações:
|
|
```bash
|
|
npm run typeorm:run
|
|
```
|
|
|
|
- Reverter a última migração:
|
|
```bash
|
|
npm run typeorm:revert
|
|
```
|
|
|
|
|
|
## Autor
|
|
|
|
[Rhuan Prado](https://gitea.pradoc.com.br/Rhuan)
|
|
|
|
---
|
|
|
|
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. |