CONFIGURAÇÃO
Guia passo a passo para configurar o ambiente de desenvolvimento dos projetos Ai Produtor - Backend e Ai Produtor - Frontend.
Este documento reúne as instruções "Começando / Getting Started" dos READMEs do backend e do frontend e acrescenta detalhes práticos (pré-requisitos, comandos na ordem correta e instruções de execução no dia a dia) para que qualquer desenvolvedor consiga configurar o ambiente rapidamente.
🧰 PRÉ-REQUISITOS
Antes de iniciar, verifique se o seu ambiente possui as seguintes ferramentas instaladas:
-
Node.js e npm
https://nodejs.org/
Após instalar o Node.js (versão LTS recomendada), verifique a instalação com:node -v npm -v -
Docker e Docker Compose
https://www.docker.com/products/docker-desktop/
Backend — Ai Produtor
📥 Começando (Getting Started)
Siga os passos abaixo para configurar e rodar o projeto.
A aplicação inteira (API e Banco de Dados) é orquestrada com Docker, garantindo um ambiente consistente para todos os desenvolvedores.
Instalação e Primeira Execução (feita apenas uma vez)
-
Clone o repositório:
git clone https://tools.ages.pucrs.br/ai-produtor-sistema-de-cadastro-e-gestao-de-produtores-de-hortifrutie/aiprodutor-backend.git cd aiprodutor-backend -
Configure as variáveis de ambiente:
cp .env.example .env # macOS / Linux # PowerShell (Windows): # copy .env.example .envAs variáveis de ambiente estão disponíveis no chat designado ao backend (Discord).
-
Construa e inicie os containers:
docker compose up -d --build -
Aplique as migrações do banco de dados:
npx prisma migrate devSe for a primeira vez ou se precisar recomeçar do zero,
npx prisma migrate reseté uma opção. -
Reinicie o container da API (se necessário):
docker compose restart backend
Como rodar no dia a dia (breve):
- Iniciar containers:
docker compose up -d postgres - Rodar a aplicação em modo desenvolvimento:
npm run start:dev - API: http://localhost:3000
- Swagger (API docs): http://localhost:3000/api-docs
🌱 Populando o Banco de Dados (Seed)
O projeto contém um script para popular o banco com dados de exemplo (produtores, áreas, safras, etc).
Execução automática:
- O seed pode ser executado automaticamente na primeira vez que o ambiente é criado com
docker compose up --buildou apósnpx prisma migrate reset.
Execução manual:
# com o banco rodando
npx prisma db seed
Prisma Studio (visualização):
npx prisma studio
# e acesse http://localhost:5555/
🔄 Resetando o Banco de Dados
Se você precisar resetar o banco de dados (apagar tabelas e dados e reaplicar migrations):
npx prisma migrate reset
🖥 ️ Dicas para Windows (PowerShell)
Se o PowerShell bloquear a execução de scripts como npm/npx, execute no mesmo terminal:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
Em seguida rode npm run start:dev novamente.
Frontend — Ai Produtor
🚀 Começando (Getting Started)
Interface do usuário desenvolvida com Next.js e TypeScript, que consome a API do backend.
Instalação e Primeira Execução (feita apenas uma vez)
-
Clone o repositório:
git clone https://tools.ages.pucrs.br/ai-produtor-sistema-de-cadastro-e-gestao-de-produtores-de-hortifrutie/aiprodutor-frontend.git cd AiProdutor-frontend -
Configure as variáveis de ambiente:
cp .env.local.example .env.local -
Instale as dependências:
npm install
⚙ ️ Como Rodar o Projeto no Dia a Dia (modo desenvolvimento)
Por que dois terminais?
Durante o desenvolvimento, você precisará de dois terminais:
- Um para o backend (API + banco, via Docker)
- Outro para o servidor de desenvolvimento do frontend
Fluxo recomendado
Terminal 1 — Backend e banco de dados:
# na raiz do backend
cd aiprodutor-backend
npm install
docker compose up -d postgres
npm run start:dev
Para visualizar a documentação do backend, acesse http://localhost:3000 no navegador.
Terminal 2 — Frontend:
cd AiProdutor-frontend
npm install # se ainda não instalou
npm run dev
Acesse http://localhost:3001 no navegador.
⚙ ️ Variáveis de Ambiente (Frontend)
As variáveis de ambiente são gerenciadas através do arquivo .env.local.
-
NEXT_PUBLIC_API_URL: URL base da API do backend (http://localhost:3000)
📜 Scripts Disponíveis (Frontend)
-
npm run dev— Inicia o servidor de desenvolvimento (porta 3001) -
npm run build— Gera o build de produção -
npm run start— Inicia o servidor de produção (requer build prévio) -
npm run lint— Executa o ESLint para análise de código
✅ Checklist Final
- Git instalado e configurado
- Node instalado
- Docker rodando
-
Repositórios clonados (
backendefrontend) -
Arquivos
.enve.env.localcriados -
Dependências instaladas (
npm install) - Banco de dados migrado / seed aplicado
- Backend acessível em http://localhost:3000
- Frontend acessível em http://localhost:3001