Projeto de catálogo de carros com API em Node.js + TypeScript.
No momento, o repositório possui o backend funcional e já está preparado para evoluir para uma aplicação completa com frontend.
api-carshop/
backend/ # API Fastify + Drizzle + PostgreSQL
frontend/ # (planejado) interface web
- Node.js
- TypeScript
- Fastify
- Drizzle ORM + PostgreSQL
- Zod (validação)
- OpenAI (busca por linguagem natural)
- Node.js 20+ (recomendado)
- npm
- PostgreSQL em execução
- Chave da OpenAI
- Entre na pasta do backend:
cd backend- Instale as dependências:
npm install- Crie o arquivo
.env(exemplo):
NODE_ENV=development
PORT=3333
DATABASE_URL=postgresql://usuario:senha@localhost:5432/carshop
OPENAI_API_KEY=sua_chave_aqui
OPENAI_MODEL=gpt-4o-mini- Inicie em modo desenvolvimento:
npm run devServidor disponível em http://localhost:3333.
Dentro de backend/:
npm run dev: sobe a API comtsx watchnpm run build: compila TypeScriptnpx drizzle-kit studio: abre interface para inspecionar o banco
-
GET /teste- Check simples de funcionamento.
-
POST /cars- Cria um carro no catálogo.
- Campos esperados:
brand,model,version,year,price,fuel,transmission,mileage,imageUrl(opcional).
-
POST /cars/search- Busca carros com texto livre (ex.: "tem gol 1.4?").
- Body:
{ "search": "quero um civic" }
- Criar o frontend para consumo da API.
- Melhorar UX da busca inteligente.
- Adicionar testes automatizados (unitário e integração).
- Evoluir tratamento de erros e padronização das respostas.
- Preparar deploy completo (backend + frontend).
Em desenvolvimento ativo.
Backend funcional e pronto para expansão com frontend.