Plataforma de monitoreo y alerta temprana para gestión del riesgo por inundaciones en Córdoba, Colombia. Dashboard en tiempo real con datos hidrometeorológicos, pronósticos extendidos e índices de riesgo municipal.
Live: vigia-cordoba.vercel.app
Vigía Córdoba integra datos de estaciones IDEAM, registros históricos de la UNGRD, índices ENSO/ONI y pronósticos meteorológicos para ofrecer una herramienta de toma de decisiones para gestores del riesgo, alcaldías y organismos de socorro en los 30 municipios de Córdoba.
- Mapa interactivo con Mapbox GL + React Map GL — estaciones hidrometeorológicas, cuencas hidrográficas, límites municipales, ríos principales
- Índice de riesgo compuesto — combina precipitación, niveles de río, ENSO, vulnerabilidad socioeconómica (NBI) y capacidad de respuesta
- Módulos temáticos:
/— Dashboard principal con resumen ejecutivo, alertas activas y KPIs/comando— Centro de comando para coordinación de emergencias/comparador— Comparación entre municipios/cuencas— Monitoreo por cuenca hidrográfica (Sinú, San Jorge, Canalete)/ejecutivo— Resumen ejecutivo para tomadores de decisión/historico— Series históricas de emergencias y precipitación/reporte— Generación de reportes/municipio/[slug]— Perfil detallado por municipio/evento/inundacion-2026/— Cobertura de eventos específicos
- API Routes — endpoints para alertas, emergencias, pronósticos, estaciones y datos de inundación
- Indicador ENSO — monitoreo del fenómeno El Niño / La Niña con datos ONI
- Pronóstico extendido — forecast meteorológico a varios días
- Suite de tests completa con Vitest + Testing Library
| Fuente | Tipo | Archivo |
|---|---|---|
| IDEAM | Estaciones hidrometeorológicas | ideam-stations.json |
| UNGRD | Emergencias históricas | ungrd-emergencies.json |
| NOAA | Índice ONI (ENSO) | enso-oni.json |
| DANE | NBI municipal | nbi-data.json |
| IGAC | Límites municipales | cordoba-boundaries.json |
| IGAC | Red hídrica | cordoba-rivers.json |
| MinEducación | Instituciones educativas | education-institutions.json |
| MinSalud | Instituciones de salud | health-institutions.json |
| MinAgricultura | Producción agrícola | agriculture-data.json |
| FEDEGAN | Inventario ganadero | livestock-data.json |
| Capa | Tecnología |
|---|---|
| Framework | Next.js 16, React 19 |
| Lenguaje | TypeScript 5 |
| Estilos | Tailwind CSS 4 |
| Mapas | Mapbox GL JS 3 + React Map GL |
| Mapas (alt) | Leaflet + React Leaflet |
| Gráficos | Recharts |
| Fechas | date-fns |
| Iconos | Lucide React |
| Testing | Vitest 4 + Testing Library + jsdom |
vigia-cordoba/
├── src/
│ ├── app/
│ │ ├── page.tsx # Dashboard principal
│ │ ├── api/ # API routes (alerts, emergencias, flood, forecast, stations, weather)
│ │ ├── comando/ # Centro de comando
│ │ ├── comparador/ # Comparador municipal
│ │ ├── cuencas/ # Monitoreo por cuenca
│ │ ├── ejecutivo/ # Resumen ejecutivo
│ │ ├── historico/ # Datos históricos
│ │ ├── reporte/ # Generador de reportes
│ │ ├── municipio/[slug]/ # Perfiles municipales
│ │ └── evento/inundacion-2026/
│ ├── components/
│ │ ├── charts/ # ENSOIndicator, FloodChart, PrecipitationChart, etc.
│ │ ├── dashboard/ # AlertsSummary, ExecutiveSummary, Header, Sidebar, etc.
│ │ ├── evento/ # FloodMap
│ │ ├── map/ # LayerControl, MapLegend, MapView
│ │ ├── municipality/ # MunicipalIndicators
│ │ └── ui/ # AlertBadge, Card, Skeleton
│ ├── lib/ # API client, hooks, risk-score, utils
│ ├── types/ # TypeScript definitions
│ ├── data/ # 12+ JSON datasets
│ └── __tests__/ # Test suite (api, components, data, integration, lib, pages)
├── scripts/ # Data processing scripts (Node.js)
├── public/ # Assets estáticos
├── vitest.config.ts
└── package.json
git clone https://github.com/Cespial/vigia-cordoba.git
cd vigia-cordoba
npm install
npm run devNEXT_PUBLIC_MAPBOX_TOKEN=your_mapbox_tokennpm test # Ejecutar tests
npm run test:watch # Modo watch
npm run test:coverage # CoberturaLos scripts en scripts/ procesan datos crudos de las fuentes oficiales:
node scripts/process-all-new.mjs # Procesar todos los datasetsMIT
Desarrollado por Cristian Espinal Maya · fourier.dev