⚠ O ETP Express pode cometer erros. Lembre-se de verificar todas as informações antes de realizar qualquer encaminhamento.
Guia rápido para rodar o ETP Express em 10 minutos.
Certifique-se de ter instalado:
E tenha em mãos:
git clone <seu-repositorio>
cd "ETP Express"# Criar database PostgreSQL
createdb etp_express
# Executar schema
psql -d etp_express -f DATABASE_SCHEMA.sqlOu via GUI (TablePlus, pgAdmin):
- Conecte ao PostgreSQL local
- Crie database
etp_express - Execute o arquivo
DATABASE_SCHEMA.sql
cd backend
# Instalar dependências
npm install
# Copiar .env
cp .env.example .env
# Editar .env com suas configurações
# Abra .env em um editor e preencha:.env mínimo para rodar:
NODE_ENV=development
PORT=3001
DATABASE_URL=postgresql://seu_usuario:sua_senha@localhost:5432/etp_express
JWT_SECRET=meu-super-secret-jwt-change-this-123
OPENAI_API_KEY=sk-proj-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
OPENAI_MODEL=gpt-4.1-nano
EXA_API_KEY=exa-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
FRONTEND_URL=http://localhost:5173
CORS_ORIGINS=http://localhost:5173# Iniciar backend
npm run start:dev✅ Backend rodando em: http://localhost:3001
✅ Swagger docs em: http://localhost:3001/api/docs
cd frontend
# Instalar dependências
npm install
# Copiar .env
cp .env.example .env
# Editar .env (opcional - já vem configurado).env padrão (já funciona):
VITE_API_URL=http://localhost:3001/api
VITE_APP_NAME=ETP Express# Iniciar frontend
npm run dev✅ Frontend rodando em: http://localhost:5173
- Abra:
http://localhost:5173 - Clique em "Registrar"
- Preencha:
- Nome: Seu nome
- Email: seu@email.com
- Senha: senha123
- Órgão: (opcional) Nome do seu órgão
- Clique "Criar Conta"
- Na tela de login, digite:
- Email: seu@email.com
- Senha: senha123
- Clique "Entrar"
✅ Você será redirecionado para o Dashboard
- No Dashboard, clique "+ Novo ETP"
- Preencha:
- Título: "Sistema de Gestão de Documentos"
- Objeto: "Contratação de sistema de gestão eletrônica de documentos para modernização administrativa"
- Clique "Criar"
✅ Você será levado ao Editor de ETP
- No Editor, clique na Seção I (Descrição da Necessidade)
- Você verá o painel lateral "Gerar com IA"
- Clique no botão " Gerar com IA"
- Aguarde 5-10 segundos...
- A IA gerará uma sugestão baseada no objeto do ETP
- Revise criticamente a sugestão! ⚠
- Clique "✅ Aceitar" ou " Editar"
- No painel lateral, clique em "Buscar Similares"
- Digite: "gestão eletrônica documentos"
- Aguarde a busca no Perplexity...
- Você verá referências de contratações reais
- Verifique as fontes antes de usar! ⚠
- Preencha pelo menos as seções obrigatórias:
- ✅ I - Descrição da necessidade
- ✅ IV - Justificativa da solução
- ✅ VI - Requisitos
- ✅ VIII - Justificativa parcelamento
- ✅ XIII - Declaração de viabilidade
- Clique em "Exportar" → "PDF"
- O PDF será gerado com:
- ⚠ Aviso destacado no topo
- Todas as seções preenchidas
- Referências anexadas
- Metadados (data, autor, versão)
# Via browser
http://localhost:3001/api
# Via curl
curl http://localhost:3001/api
# Resposta esperada:
{
"status": "ok",
"timestamp": "2025-11-05T...",
"warning": "⚠ O ETP Express pode cometer erros...",
"message": "ETP Express Backend is running"
}# Abra o browser
http://localhost:5173
# Você deve ver:
- Página de login
- WarningBanner no topo (amarelo/laranja)
- Formulário de login/registro# Conecte ao PostgreSQL
psql -d etp_express
# Liste as tabelas
\dt
# Você deve ver:
- users
- etps
- etp_sections
- etp_versions
- audit_logs
- similar_contracts
- analytics_events
- section_templatesSolução:
# Verificar se PostgreSQL está rodando
# Windows:
services.msc → PostgreSQL
# Linux/Mac:
sudo systemctl status postgresql
# Verificar DATABASE_URL no .env
DATABASE_URL=postgresql://USER:PASSWORD@localhost:5432/etp_expressSolução:
- Verifique
OPENAI_API_KEYno.env - Confirme que a key é válida em: https://platform.openai.com/api-keys
- Verifique se tem créditos disponíveis
Solução:
- Verifique
PERPLEXITY_API_KEYno.env - Confirme que a key é válida em: https://www.perplexity.ai/settings/api
- Verifique rate limits
Solução:
# Windows: Matar processo na porta
netstat -ano | findstr :3001
taskkill /PID <PID> /F
# Linux/Mac:
lsof -i :3001
kill -9 <PID>
# Ou altere PORT no .env
PORT=3002Solução:
# Altere em vite.config.ts
server: {
port: 5174, // Ou outra porta livre
}Solução:
- Verifique
FRONTEND_URLno backend.env - Verifique
CORS_ORIGINSno backend.env - Ambos devem ser:
http://localhost:5173
Agora que você tem tudo rodando:
- Leia a documentação completa: README.md
- Entenda a arquitetura: ARCHITECTURE.md
- Deploy em produção: DEPLOY_RAILWAY.md
- Explore a API:
http://localhost:3001/api/docs - Customize a UI: Edite componentes em
frontend/src/components/ - Melhore os prompts: Edite em
backend/src/modules/orchestrator/agents/
1. Criar ETP → 2. Gerar Seções (IA) → 3. Revisar Criticamente
↓
4. Buscar Similares → 5. Fundamentar → 6. Ajustar Conteúdo
↓
7. Validar Completude → 8. Exportar PDF → 9. Usar Oficialmente
Sempre revise as sugestões da IA antes de aceitar Busque referências para fundamentar valores e soluções Use tooltips para entender termos jurídicos Salve versões antes de grandes mudanças Exporte JSON para backup antes de finalizar
Para poder exportar, você DEVE preencher:
- ✅ I - Descrição da necessidade da contratação
- ✅ IV - Justificativa da solução escolhida
- ✅ VI - Requisitos da contratação
- ✅ VIII - Justificativa do parcelamento ou não
- ✅ XIII - Declaração de viabilidade
O ETP Express NÃO substitui:
- ❌ Responsabilidade administrativa
- ❌ Análise jurídica especializada
- ❌ Decisão técnica do servidor
- ❌ Validação humana final
A IA PODE:
- ❌ Inventar fatos (alucinação)
- ❌ Interpretar leis incorretamente
- ❌ Sugerir valores desatualizados
- ❌ Fazer afirmações imprecisas
POR ISSO:
- ✅ Sempre revise criticamente
- ✅ Valide referências legais
- ✅ Confirme valores com mercado
- ✅ Consulte setor jurídico
# Desenvolvimento (watch mode)
npm run start:dev
# Build para produção
npm run build
# Rodar produção
npm run start:prod
# Migrations
npm run migration:run
# Testes
npm run test
npm run test:e2e
npm run test:cov
# Lint
npm run lint# Desenvolvimento (hot reload)
npm run dev
# Build para produção
npm run build
# Preview do build
npm run preview
# Lint
npm run lint# Conectar ao database
psql -d etp_express
# Listar tabelas
\dt
# Ver dados de uma tabela
SELECT * FROM users;
SELECT * FROM etps;
# Contar registros
SELECT COUNT(*) FROM etp_sections;
# Sair
\qAntes de usar em produção, verifique:
- ✅ Backend iniciando sem erros
- ✅ Frontend acessível no browser
- ✅ Database conectado e populado
- ✅ Registro de usuário funcionando
- ✅ Login funcionando
- ✅ Criação de ETP funcionando
- ✅ Geração de seção com IA funcionando
- ✅ Busca de similares funcionando
- ✅ Exportação PDF funcionando
- ✅ Versionamento funcionando
- ✅ WarningBanner visível em todas as páginas
- ✅ Responsividade mobile testada
- ✅ Swagger acessível e funcional
- Documentação: README.md
- Arquitetura: ARCHITECTURE.md
- Deploy: DEPLOY_RAILWAY.md
- Sumário: PROJECT_SUMMARY.md
- Issues: GitHub Issues
- Suporte: suporte@etpexpress.gov.br (exemplo)
Agora você tem o ETP Express rodando localmente e pode:
- ✅ Criar ETPs
- ✅ Gerar conteúdo com IA
- ✅ Buscar contratações similares
- ✅ Exportar PDFs profissionais
- ✅ Versionar e auditar
**Bom trabalho! **
⚠ LEMBRE-SE: Sempre revise as saídas da IA antes de usar oficialmente.
A responsabilidade final é do servidor/agente público responsável.
Criado em: 2025-11-05 Versão: 1.0.0 Tempo estimado: 10 minutos