Guia para iniciar o projeto localmente do zero.
- Node.js >= 18
- npm (ou pnpm/yarn)
- Git
- (Opcional) Docker + Docker Compose
- Conta Google (OAuth), Supabase, chave Gemini
Verificar:
node --version
npm --version
git --version
docker --version # opcionalgit clone <url-do-repositorio>
cd next-structlivenpm installCopie o arquivo de exemplo e preencha com suas credenciais:
cp .env.example .envConteúdo mínimo:
GOOGLE_CLIENT_ID=""
GOOGLE_CLIENT_SECRET=""
NEXTAUTH_SECRET=""
NEXTAUTH_URL="http://localhost:3000"
SUPABASE_URL=""
SUPABASE_SERVICE_ROLE_KEY=""
GEMINI_API_KEY=""
GEMINI_API_KEY2=""
RABBITMQ_URL="amqp://guest:guest@localhost:5672"Gerar NEXTAUTH_SECRET:
openssl rand -base64 32- Google Cloud Console → Criar Projeto.
- OAuth consent screen → External.
- Credentials → OAuth Client ID → Web.
- Redirect URI:
http://localhost:3000/api/auth/callback/google
- Copiar Client ID / Secret → .env.
- Criar projeto.
- Pegar Project URL e service_role key.
- Colocar no .env.
- Criar tabelas (modelo fictício exemplo):
-- exemplo (adaptar)
create table atividades (
id uuid primary key default gen_random_uuid(),
titulo text,
descricao text,
estrutura text,
dificuldade text,
created_at timestamptz default now()
);docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-managementUI: http://localhost:15672 (guest/guest)
Gerar chave em https://aistudio.google.com/ → adicionar GEMINI_API_KEY.
npm run devAbrir http://localhost:3000
npm run start:worker # script deve existir (ver package.json) - se não, criarnpm test
npm run test:watch
npm run test:ui
npm run coverageO projeto inclui docker-compose.yml para RabbitMQ:
version: "3.9"
services:
app:
build: .
env_file: .env
ports: ["3000:3000"]
command: "npm run dev"
rabbit:
image: rabbitmq:3-management
ports:
- "5672:5672"
- "15672:15672"Exemplos comuns (ajustar se faltarem):
npm run dev
npm run build
npm start
npm test
npm run coverage| Problema | Causa | Solução |
|---|---|---|
| 404 em rotas | Rota não existe | Verificar URL e roteamento |
| Sessão não carrega | Variáveis Google faltando | Preencher .env e reiniciar |
| Feedback IA nunca chega | Worker/fila ausente | Subir RabbitMQ e worker |
| ERRO: fetch /api/atividades | Rota não implementada | Criar route.ts conforme padrão |
| NEXTAUTH_URL inválido | URL diferente | Ajustar no .env |
rm -rf .next
npm run dev| Item | Dev | Prod |
|---|---|---|
| NEXTAUTH_URL | http://localhost:3000 | URL domínio |
| service_role key | Usada direto | Mover para backend seguro |
| Logs | Console | Observabilidade (ELK, etc.) |
- Node >= 18
- .env preenchido
- Login Google funcionando
- Página home renderiza
- Atividade lista abre
- Feedback IA aparece (quando worker ativo)
Pronto: seguir para docs/how-to-add-a-module.md.