Skip to content

0xBlooD/nlw-agents

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

NLW Agents

Este projeto foi desenvolvido durante o evento NLW da Rocketseat. Ele consiste em uma aplicação fullstack com um backend em Node.js/TypeScript e frontend em React, utilizando bibliotecas modernas e padrões de projeto atuais.

Tecnologias e Bibliotecas Utilizadas

Backend (server/)

  • Node.js + TypeScript
  • Fastify: Framework web para APIs rápidas.
  • Zod: Validação de esquemas e tipos.
  • Drizzle ORM: ORM para PostgreSQL.
  • drizzle-seed: Seed de banco de dados.
  • PostgreSQL: Banco de dados relacional.
  • pgvector: Extensão para vetores no PostgreSQL.
  • @fastify/cors: Suporte a CORS.
  • dotenv: Variáveis de ambiente.

Frontend (web/)

  • React 19 + TypeScript
  • Vite: Bundler e dev server rápido.
  • React Router DOM: Rotas SPA.
  • @tanstack/react-query: Gerenciamento de dados assíncronos.
  • Tailwind CSS: Utilitários CSS.
  • class-variance-authority, clsx, tailwind-merge: Utilitários para composição de classes.
  • Radix UI: Componentes acessíveis.
  • lucide-react: Ícones SVG.

Padrões de Projeto

  • Monorepo: Separação clara entre server/ (backend) e web/ (frontend).
  • Type-safe: Uso extensivo de TypeScript e Zod para validação e tipagem.
  • Componentização: Frontend baseado em componentes reutilizáveis.
  • Configuração por ambiente: Uso de arquivos .env para variáveis sensíveis.

Setup e Configuração

Pré-requisitos

  • Node.js 18+
  • Docker (para banco de dados PostgreSQL com pgvector)

Backend

  1. Copie .env.example para .env e ajuste as variáveis conforme necessário.
  2. Suba o banco de dados com Docker:
    docker-compose up -d
  3. Instale as dependências:
    cd server
    npm install
  4. Rode as migrations e seeds:
    npm run db:seed
  5. Inicie o servidor:
    npm run dev

Frontend

  1. Instale as dependências:
    cd web
    npm install
  2. Inicie o servidor de desenvolvimento:
    npm run dev

Acesse a aplicação web em http://localhost:5173.


Projeto desenvolvido durante o NLW da Rocketseat.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors