Uma aplicação backend desenvolvida com NestJS, Prisma e PostgreSQL para gerenciamento de usuários e autenticação JWT.
- TypeScript - Linguagem de programação
- NestJS - Framework Node.js para aplicações escaláveis
- Prisma - ORM moderno para TypeScript e Node.js
- PostgreSQL - Banco de dados relacional
- JWT - Autenticação baseada em tokens
- bcrypt - Hash de senhas
- Vitest - Framework de testes
src/
├── auth/ # Módulo de autenticação
│ ├── auth.controller.ts
│ ├── auth.service.ts
│ ├── dto/
│ ├── guards/
│ └── strategy/
├── user/ # Módulo de usuários
├── bookmark/ # Módulo de bookmarks
├── prisma/ # Configuração do Prisma
└── main.ts
# Instalar dependências
npm install
# Configurar variáveis de ambiente
cp .env.example .env
# Executar migrações do banco
npx prisma migrate dev
# Gerar cliente Prisma
npx prisma generateCrie um arquivo .env com as seguintes variáveis:
DATABASE_URL="postgresql://user:password@localhost:5432/database"
JWT_SECRET="your-secret-key"# Desenvolvimento
npm run start:dev
# Produção
npm run start:prod
# Debug
npm run start:debug# Testes unitários
npm run test
# Testes em modo watch
npm run test:watch
# Testes com cobertura
npm run test:coverage
# Testes end-to-end
npm run test:e2ePOST /auth/signup- Cadastro de usuárioPOST /auth/signin- Login de usuário
GET /users/me- Obter dados do usuário autenticado
npm run build- Build da aplicaçãonpm run start- Iniciar aplicaçãonpm run start:dev- Modo desenvolvimentonpm run test- Executar testesnpm run test:coverage- Cobertura de testes
Este projeto está sob a licença MIT.