https://github.com/andersonkaiti/nlw-agents-server
https://github.com/andersonkaiti/nlw-agents-server
biomejs drizzle-orm fastify genai postgresql ultracite zod
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/andersonkaiti/nlw-agents-server
- Owner: andersonkaiti
- Created: 2025-07-08T13:35:55.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-10T21:44:37.000Z (12 months ago)
- Last Synced: 2025-10-08T03:42:50.591Z (9 months ago)
- Topics: biomejs, drizzle-orm, fastify, genai, postgresql, ultracite, zod
- Language: TypeScript
- Homepage:
- Size: 49.8 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NLW Agents
## 🚀 Projeto
NLW Agents é um projeto desenvolvido durante o evento Next Level Week (NLW) da Rocketseat. Trata-se de uma aplicação backend para gerenciamento de salas e agentes.
## 🛠️ Tecnologias Principais
- **Fastify**: Framework web rápido e eficiente para Node.js
- **Drizzle ORM**: ORM leve e tipo-seguro para PostgreSQL
- **Zod**: Biblioteca de validação de esquemas
- **PostgreSQL**: Banco de dados relacional
- **TypeScript**: Linguagem de programação
## 📦 Dependências
- `@fastify/cors`: Gerenciamento de CORS
- `drizzle-orm`: Mapeamento objeto-relacional
- `zod`: Validação de esquemas
- `postgres`: Cliente PostgreSQL
## 🔧 Configuração e Instalação
### Pré-requisitos
- Node.js (versão compatível com o projeto)
- Docker
- Docker Compose
### Passos de Instalação
1. **Clonar o Repositório**
```bash
git clone https://github.com/seu-usuario/nlw-agents-server.git
cd nlw-agents-server
```
2. **Instalar Dependências**
```bash
npm install
```
3. **Configurar Variáveis de Ambiente**
- Crie um arquivo `.env` na raiz do projeto
- Adicione as configurações necessárias (exemplo):
```
DATABASE_URL=postgresql://docker:docker@localhost:5432/agents
```
4. **Iniciar Banco de Dados**
```bash
# Inicia o container do PostgreSQL em segundo plano
docker-compose up -d
```
5. **Credenciais do Banco de Dados**
- Usuário: `docker`
- Senha: `docker`
- Banco de Dados: `agents`
- Porta: `5432`
6. **Aplicar Migrations**
```bash
npx drizzle-kit migrate
```
7. **Popular Banco de Dados (Opcional)**
```bash
npm run db:seed
```
**Nota**: Sempre verifique o arquivo `.env` para configurações personalizadas de conexão.
## 🚀 Scripts Disponíveis
- `npm run dev`: Inicia o servidor em modo de desenvolvimento
- `npm start`: Inicia o servidor em produção
- `npm run db:seed`: Popula o banco de dados com dados iniciais
---
Projeto desenvolvido com amor durante o evento Next Level Week (NLW) da Rocketseat. 🚀