Sistema de gestão de tarefas em equipe (Kanban) desenvolvido com NestJS, Drizzle ORM e PostgreSQL.
- NestJS (Framework)
- TypeScript (Linguagem)
- Drizzle ORM (Banco de Dados)
- PostgreSQL (Banco de Dados Docker)
- Zod (Validação)
- Pino (Logs)
- Swagger (Documentação)
- Jest (Testes)
- Clone o repositório
- Instale as dependências:
npm install
- Configure as variáveis de ambiente:
- Copie
.env.examplepara.env - Ajuste as credenciais se necessário (Docker já configurado para padrão)
- Copie
Inicie o container do PostgreSQL:
docker-compose up -dRode as migrações do banco:
npx drizzle-kit migrateModo de desenvolvimento:
npm run start:devA API estará disponível em http://localhost:3000.
Swagger: http://localhost:3000/docs.
Rodar testes unitários: (Em desenvolvimento)
npm run testRodar testes com cobertura:
npm run test:covRodar testes e2e: (Em desenvolvimento)
npm run test:e2eerDiagram
BOARD ||--o{ DEPARTMENT : tem
BOARD ||--o{ PRIORITY : tem
BOARD ||--o{ TAG : tem
BOARD ||--o{ NOTE : tem
DEPARTMENT ||--o{ RESPONSIBLE : tem
NOTE }o--o{ TAG : possui
NOTE }o--o{ RESPONSIBLE : atribuido
NOTE }o--|| PRIORITY : possui
BOARD {
uuid id
string name
}
DEPARTMENT {
uuid id
string name
uuid board_id
}
PRIORITY {
uuid id
int value
string description
uuid board_id
}
TAG {
uuid id
string name
uuid board_id
}
RESPONSIBLE {
uuid id
string name
string role
uuid department_id
}
NOTE {
uuid id
string title
string content
timestamp due_date
}