Este projeto foi desenvolvido durante o evento NLW Agents da Rocketseat.
- Node.js + TypeScript
- Fastify: Framework web para Node.js
- Zod: Validação de dados
- Drizzle ORM: ORM para PostgreSQL
- drizzle-kit: CLI para migrações e geração de schemas
- drizzle-seed: Seed de dados fake
- PostgreSQL (com extensão pgvector)
- @biomejs/biome: Linter e formatter
- ultracite: Configuração de lint
- Modularização por domínio (rotas, banco, schemas)
- Validação de dados com Zod
- Barrel files para schemas
- Separação de configuração/env
O front-end do projeto é uma aplicação que utiliza Next.js e React que consome a API desenvolvida aqui. Você pode conferir o repositório do front-end aqui.
Uma simples demonstração de como a aplicação funciona na prática (e qual a relação entre jardineiros e React 🤔):
npm install- O projeto utiliza PostgreSQL (porta padrão 5432).
- Você pode subir um banco local com Docker:
docker-compose up -dCrie um arquivo .env na raiz com:
PORT=3333
DATABASE_URL=postgresql://docker:docker@localhost:5432/agents
npx drizzle-kit migrate
npm run db:seednpm run dev- Health check:
GET /health - Listar salas:
GET /rooms
- TypeScript: ver
tsconfig.json - Drizzle ORM: ver
drizzle.config.ts - Lint/Format: ver
biome.jsonc
Projeto desenvolvido durante o evento NLW da Rocketseat.
