Projeto desenvolvido durante um evento da Rocketseat utilizando tecnologias modernas para criação de uma API robusta e eficiente.
- Node.js com TypeScript nativo (experimental strip types)
- Fastify - Framework web rápido e eficiente
- PostgreSQL com extensão pgvector para vetores
- Drizzle ORM - Type-safe database operations
- Zod - Schema validation
- Docker - Containerização do banco de dados
- Biome - Linting e formatação de código
O projeto segue uma arquitetura modular com:
- Separação de responsabilidades entre rotas, schemas e conexão com banco
- Validação de schemas com Zod para type safety
- ORM type-safe com Drizzle para operações de banco de dados
- Validação de variáveis de ambiente centralizadas
- Node.js (versão com suporte a
--experimental-strip-types) - Docker e Docker Compose
git clone <url-do-repositorio>
cd serverdocker-compose up -dCrie um arquivo .env na raiz do projeto:
PORT=3333
DATABASE_URL=postgresql://docker:docker@localhost:5432/agentsnpm installnpx drizzle-kit migratenpm run db:seedDesenvolvimento:
npm run devProdução:
npm startnpm run dev- Executa o servidor em modo de desenvolvimento com hot reloadnpm start- Executa o servidor em modo de produçãonpm run db:seed- Popula o banco de dados com dados de exemplo
A API estará disponível em http://localhost:3333
GET /health- Health check da aplicaçãoGET /room- Lista as salas disponíveis
Desenvolvido com ❤️ durante o NLW da Rocketseat