# AndesAI - Troubleshooting Guide ## ✅ Checklist de Configuración ### 1. **Backend Configuration** - [ ] Backend está ejecutándose en `http://localhost:8000` - [ ] Base de datos SQLite está accesible en `./andesops.db` - [ ] Variables de entorno configuradas en `backend/.env`: ``` MERCADO_PUBLICO_TICKET=99B4CA8C-C1DF-4E3F-B5CF-C1672D432A91 GEMINI_API_KEY=AIzaSyBidQBGcitskZaJZDQXUDNNSMjlSTF7jhQ DATABASE_URL=sqlite:///./andesops.db ``` ### 2. **Frontend Configuration** - [ ] Frontend `.env.local` tiene: ``` NEXT_PUBLIC_API_BASE=http://localhost:8000 ``` - [ ] Frontend está corriendo en desarrollo o producción ### 3. **API Endpoints - Test Manual** Prueba estos endpoints en tu navegador o curl: ```bash # Health check curl http://localhost:8000/api/health # Get tenders (busca en BD local) curl "http://localhost:8000/api/tenders?skip=0&limit=10" # Get tenders by keyword (busca en Mercado Público) curl "http://localhost:8000/api/tenders?keyword=software" # Scrape Compra Ágil (nuevo endpoint) curl "http://localhost:8000/api/tenders/scrape?keyword=tecnologia" # Get Purchase Orders (OC) - HOY curl "http://localhost:8000/api/purchase-orders" # Get Purchase Orders (OC) - Fecha específica curl "http://localhost:8000/api/purchase-orders?date=06052026&status=todos" ``` ## 🔧 Problemas Comunes ### **Problema: "Connection Error" en Market Monitor** **Causas:** 1. Backend no está ejecutándose 2. URL del API_BASE es incorrecta 3. CORS bloqueado **Solución:** ```bash # 1. Inicia el backend cd backend python -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 # 2. Verifica que esté respondiendo curl http://localhost:8000/api/health # 3. Si falla, revisa los logs del backend ``` ### **Problema: Órdenes de Compra devuelven vacías** **Causas:** 1. Ticket de Mercado Público expirado/inválido 2. No hay OC publicadas hoy 3. Error en la API de Mercado Público **Solución:** ```bash # Test directo de OC curl "http://localhost:8000/api/purchase-orders" # Test con fecha específica curl "http://localhost:8000/api/purchase-orders?date=06052026" # Verifica el ticket en backend/.env echo $MERCADO_PUBLICO_TICKET # Debe mostrar el ticket ``` ### **Problema: "Compra Ágil" no trae resultados** **Causas:** 1. Endpoint de Mercado Público devolvió error 2. Keyword no tiene resultados 3. API returns 500 (sin datos disponibles) **Solución:** ```bash # Test del scraper curl "http://localhost:8000/api/tenders/scrape?keyword=tecnologia" # Si falla, activará fallback sintético # Verifica logs del backend: look for "[Scraper]" messages ``` ### **Problema: Frontend no conecta con Backend** **Diagnóstico:** 1. Abre Developer Tools (F12) 2. Ve a Network tab 3. Intenta hacer una búsqueda 4. Busca peticiones fallidas **Soluciones:** ```bash # Verify frontend .env.local cat frontend/.env.local # Debe mostrar: NEXT_PUBLIC_API_BASE=http://localhost:8000 # Rebuild frontend if needed cd frontend npm run build npm start # Check if API_BASE is used in network requests # Debe ver requests a http://localhost:8000/api/* ``` ## 📋 Logs útiles para debugging ### Backend Logs: ```bash cd backend python -m uvicorn app.main:app --reload # Look for these messages: # "[Scraper] 📡 Fetching..." - Scraper activo # "✅ Success" - Búsqueda exitosa # "⚠️ API blocked" - Error en API externa # "❌ Scraper failure" - Fallback a datos sintéticos ``` ### Frontend Logs: ```javascript // En Developer Tools Console (F12) // Look for: // [API] messages - Llamadas API // [TenderSearch] - Búsquedas de tenders // Connection errors - Problemas de conexión ``` ## 🚀 Como iniciar el sistema completo ### Opción 1: Desarrollo Local (Recomendado) ```bash # Terminal 1 - Backend cd backend python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -r requirements.txt python -m uvicorn app.main:app --reload --port 8000 # Terminal 2 - Frontend cd frontend npm install npm run dev # Abre http://localhost:3000 ``` ### Opción 2: Docker Compose ```bash docker-compose up -d # Backend en http://localhost:8000 # Frontend en http://localhost:3000 ``` ## ✨ Features que debería ver 1. **Tender Search Tab** - ✅ Buscar por keyword - ✅ Filtrar por status, org, fecha - ✅ Compra Ágil scraping 2. **Market Monitor Tab** - ✅ Ver órdenes de compra del día - ✅ Filtrar por estado - ✅ Mostrar montos totales 3. **Data Flow** - Frontend → Backend (HTTP) → Mercado Público API → Response ## 📞 Si aún no funciona 1. Verifica los logs en ambas terminales 2. Asegúrate que el backend esté respondiendo a `/api/health` 3. Verifica que `NEXT_PUBLIC_API_BASE` sea exactamente `http://localhost:8000` 4. Limpia cache del navegador (Ctrl+Shift+R) 5. Reinicia ambos servicios