first commit
This commit is contained in:
251
PLAN.md
Normal file
251
PLAN.md
Normal file
@@ -0,0 +1,251 @@
|
||||
# PLAN - Radar automático de datos públicos (gob-alert)
|
||||
|
||||
## Resumen
|
||||
- **Idea**: Radar automático sobre datos.gob.es — detección, curación y normalización.
|
||||
- **Stack elegido**: Nuxt (frontend), Nest (API), con turborepo monorepo.
|
||||
- **Clientes objetivo**: consultoras/gestorías, pymes, universidades.
|
||||
|
||||
## Objetivo del MVP
|
||||
- Indexar catálogo y guardar historial.
|
||||
- Detectar nuevos/actualizados datasets.
|
||||
- Normalización básica y perfiles de alerta.
|
||||
- Dashboard simple y alertas por Telegram/email.
|
||||
|
||||
## MVP 30 días
|
||||
|
||||
### Semana 1 — Catálogo e historización
|
||||
- Indexar `datos.gob.es` (API + SPARQL).
|
||||
- Guardar metadatos y versiones en Postgres.
|
||||
|
||||
### Semana 2 — Clasificación y normalización
|
||||
- Clasificadores (organismo, territorio, tema).
|
||||
- Normalizadores CSV/JSON → esquema común.
|
||||
|
||||
### Semana 3 — Alertas y perfiles
|
||||
- Perfiles no técnicos, motor de reglas, entrega (Telegram/email).
|
||||
|
||||
### Semana 4 — Dashboard y pilotos
|
||||
- Dashboard: novedades, cambios, tendencias.
|
||||
- Onboard 3 pilotos y recoger feedback.
|
||||
|
||||
## Arquitectura (2 mini-PCs)
|
||||
|
||||
- **Mini-PC 1 — Ingesta & procesamiento**: workers Python (cron/queues), ingesta API/SPARQL, normalización, Postgres.
|
||||
- **Mini-PC 2 — Producto**: `Nest` API, `Nuxt` dashboard, alertas (Telegram/SMTP), backups.
|
||||
- **Comunicación**: REST + colas ligeras (Redis opcional).
|
||||
|
||||
## Componentes clave
|
||||
- Ingestor, Normalizador, Clasificador, Sistema de Alertas, Dashboard, Admin (planes/usuarios).
|
||||
|
||||
## Monetización
|
||||
- Plan Básico 15€/mes, Pro 39€/mes, Empresa 99€/mes.
|
||||
|
||||
## KPIs iniciales
|
||||
- Tiempo medio de detección, cobertura del catálogo, tasa de alertas útiles, conversión piloto→cliente.
|
||||
|
||||
## Roadmap 6 meses
|
||||
- Integrar BOE y portales autonómicos, ML para clasificación, exportes e integraciones B2B.
|
||||
|
||||
---
|
||||
|
||||
Este documento complementa la `TODO` principal y sirve como referencia rápida para el MVP.
|
||||
|
||||
# PLAN — Radar automático de datos públicos
|
||||
|
||||
## Resumen
|
||||
- Idea: Radar automático de datos públicos — alertas y normalización sobre datos.gob.es.
|
||||
- Valor: Detección temprana + curación + normalización; entregas accionables, no datos crudos.
|
||||
- Clientes objetivo: consultoras/gestorías, pymes, universidades/proyectos.
|
||||
|
||||
## Objetivo del MVP
|
||||
- Indexar catálogo y guardar histórico.
|
||||
- Detectar nuevos/actualizados datasets.
|
||||
- Normalización básica y perfiles de alertas.
|
||||
- Dashboard simple + alertas Telegram/email.
|
||||
- Piloto con 3 clientes en 30 días.
|
||||
|
||||
## MVP 30 Días (entregables por semana)
|
||||
- Semana 1 — Catálogo e historización: indexar datos.gob.es (API + SPARQL), almacenar metadatos y versiones en Postgres, endpoint interno para consultar catálogo.
|
||||
- Semana 2 — Clasificación y normalización básica: clasificadores por organismo/territorio/tema, normalizadores CSV→esquema común (fechas, importes, provincias).
|
||||
- Semana 3 — Alertas y perfiles: UI mínima para definir perfiles, motor de reglas, entrega por Telegram/email.
|
||||
- Semana 4 — Dashboard y pilotos: dashboard con novedades/cambios/tendencias, onboarding 3 clientes piloto, ajustes según feedback.
|
||||
|
||||
## Arquitectura (2 mini-PCs)
|
||||
- Mini-PC 1 — Ingesta y procesamiento: Python workers (cron/queues), consumidores API+SPARQL, normalizadores, Postgres (principal), SQLite auxiliar para caches.
|
||||
- Mini-PC 2 — Producto y entrega: Nest (API pública), frontend (Nuxt) dashboard, servicios de alertas (Telegram bot, SMTP), backups y monitorización.
|
||||
- Comunicación: API HTTP/REST + colas ligeras (Redis opcional).
|
||||
- Stack recomendado: Nuxt (frontend), Nest (backend), Python para ingestion, Playwright solo si PDF scraping necesario.
|
||||
|
||||
## Componentes clave
|
||||
- Ingestor: jobs programados, detección de cambios, versionado.
|
||||
- Normalizador: mapeos configurables, transformaciones reutilizables.
|
||||
- Clasificador: reglas + etiquetas (organismo, tema, territorio).
|
||||
- Alerta: perfiles de usuario, reglas de entrega, deduplicación.
|
||||
- Dashboard: novedades, cambios, tendencias, histórico.
|
||||
- Admin: usuarios, planes, facturación, logs.
|
||||
|
||||
## Monetización
|
||||
- Plan Básico – 15€/mes
|
||||
- Plan Pro – 39€/mes
|
||||
- Plan Empresa – 99€/mes
|
||||
|
||||
## KPIs iniciales
|
||||
- Tiempo medio hasta detectar un nuevo dataset.
|
||||
- Cobertura del catálogo (% datasets indexados).
|
||||
- Tasa de alertas útiles (feedback piloto).
|
||||
- Conversiones piloto→pagos.
|
||||
|
||||
## Riesgos y mitigaciones
|
||||
- Datos heterogéneos: empezar con CSV/JSON.
|
||||
- Dependencia API: historizar metadatos y tener plan B.
|
||||
- Escalabilidad en mini-PCs: diseñar componentes desacoplados.
|
||||
|
||||
## Roadmap 6 meses
|
||||
- Integrar BOE y portales autonómicos.
|
||||
- ML para clasificación automática de temas.
|
||||
- Exportes y reportes automáticos.
|
||||
- Integraciones B2B (SFTP, webhooks).
|
||||
|
||||
---
|
||||
|
||||
Archivo creado automáticamente: estructura inicial de monorepo sugerida en `README.md`.
|
||||
|
||||
## Estado de tareas (resumen)
|
||||
|
||||
- [x] Definir alcance y métricas
|
||||
- [x] Diseñar arquitectura 2 mini-PCs
|
||||
- [x] Indexar catálogo datos.gob.es
|
||||
- [x] Normalización y enriquecimiento (en progreso)
|
||||
- [x] Implementar motor de descubrimiento
|
||||
- [x] Sistema de alertas profesionales
|
||||
- [x] Panel MVP (Dashboard)
|
||||
- [x] Auth, usuarios y planes (en progreso)
|
||||
- [ ] Piloto con clientes
|
||||
- [x] Monetización y política de precios
|
||||
- [x] Monitorización, logs y backups
|
||||
- [x] Documentación y landing
|
||||
- [ ] Pruebas y despliegue en mini-PCs
|
||||
- [ ] Iteración y roadmap 6 meses
|
||||
|
||||
### Tareas ya realizadas
|
||||
|
||||
- [x] Esqueleto Nest en `apps/api`
|
||||
- [x] Dev `docker-compose.override.yml` (desarrollo)
|
||||
- [x] Ingestor básico (parcial)
|
||||
- [x] Normalización y enriquecimiento (parcial)
|
||||
- [x] Versionado / Histórico
|
||||
- [x] Programar ingesta periódica (scheduler)
|
||||
- [x] Admin endpoints for scheduler (pause/resume)
|
||||
- [x] Queue-based ingestion (Bull + Redis)
|
||||
- [x] Secure admin endpoints and frontend integration (API key + JWT fallback)
|
||||
|
||||
``` # PLAN - Radar automático de datos públicos (gob-alert)
|
||||
|
||||
## Resumen
|
||||
- **Idea**: Radar automático sobre datos.gob.es — detección, curación y normalización.
|
||||
- **Stack elegido**: Nuxt (frontend), Nest (API), con turborepo monorepo.
|
||||
- **Clientes objetivo**: consultoras/gestorías, pymes, universidades.
|
||||
|
||||
## Objetivo del MVP
|
||||
- Indexar catálogo y guardar historial.
|
||||
- Detectar nuevos/actualizados datasets.
|
||||
- Normalización básica y perfiles de alerta.
|
||||
- Dashboard simple y alertas por Telegram/email.
|
||||
|
||||
## MVP 30 días
|
||||
|
||||
### Semana 1 — Catálogo e historización
|
||||
- Indexar `datos.gob.es` (API + SPARQL).
|
||||
- Guardar metadatos y versiones en Postgres.
|
||||
|
||||
### Semana 2 — Clasificación y normalización
|
||||
- Clasificadores (organismo, territorio, tema).
|
||||
- Normalizadores CSV/JSON → esquema común.
|
||||
|
||||
### Semana 3 — Alertas y perfiles
|
||||
- Perfiles no técnicos, motor de reglas, entrega (Telegram/email).
|
||||
|
||||
### Semana 4 — Dashboard y pilotos
|
||||
- Dashboard: novedades, cambios, tendencias.
|
||||
- Onboard 3 pilotos y recoger feedback.
|
||||
|
||||
## Arquitectura (2 mini-PCs)
|
||||
|
||||
- **Mini-PC 1 — Ingesta & procesamiento**: workers Python (cron/queues), ingesta API/SPARQL, normalización, Postgres.
|
||||
- **Mini-PC 2 — Producto**: `Nest` API, `Nuxt` dashboard, alertas (Telegram/SMTP), backups.
|
||||
- **Comunicación**: REST + colas ligeras (Redis opcional).
|
||||
|
||||
## Componentes clave
|
||||
- Ingestor, Normalizador, Clasificador, Sistema de Alertas, Dashboard, Admin (planes/usuarios).
|
||||
|
||||
## Monetización
|
||||
- Plan Básico 15€/mes, Pro 39€/mes, Empresa 99€/mes.
|
||||
|
||||
## KPIs iniciales
|
||||
- Tiempo medio de detección, cobertura del catálogo, tasa de alertas útiles, conversión piloto→cliente.
|
||||
|
||||
## Roadmap 6 meses
|
||||
- Integrar BOE y portales autonómicos, ML para clasificación, exportes e integraciones B2B.
|
||||
|
||||
---
|
||||
|
||||
Este documento complementa la `TODO` principal y sirve como referencia rápida para el MVP.
|
||||
# PLAN — Radar automático de datos públicos
|
||||
|
||||
## Resumen
|
||||
- Idea: Radar automático de datos públicos — alertas y normalización sobre datos.gob.es.
|
||||
- Valor: Detección temprana + curación + normalización; entregas accionables, no datos crudos.
|
||||
- Clientes objetivo: consultoras/gestorías, pymes, universidades/proyectos.
|
||||
|
||||
## Objetivo del MVP
|
||||
- Indexar catálogo y guardar histórico.
|
||||
- Detectar nuevos/actualizados datasets.
|
||||
- Normalización básica y perfiles de alertas.
|
||||
- Dashboard simple + alertas Telegram/email.
|
||||
- Piloto con 3 clientes en 30 días.
|
||||
|
||||
## MVP 30 Días (entregables por semana)
|
||||
- Semana 1 — Catálogo e historización: indexar datos.gob.es (API + SPARQL), almacenar metadatos y versiones en Postgres, endpoint interno para consultar catálogo.
|
||||
- Semana 2 — Clasificación y normalización básica: clasificadores por organismo/territorio/tema, normalizadores CSV→esquema común (fechas, importes, provincias).
|
||||
- Semana 3 — Alertas y perfiles: UI mínima para definir perfiles, motor de reglas, entrega por Telegram/email.
|
||||
- Semana 4 — Dashboard y pilotos: dashboard con novedades/cambios/tendencias, onboarding 3 clientes piloto, ajustes según feedback.
|
||||
|
||||
## Arquitectura (2 mini-PCs)
|
||||
- Mini-PC 1 — Ingesta y procesamiento: Python workers (cron/queues), consumidores API+SPARQL, normalizadores, Postgres (principal), SQLite auxiliar para caches.
|
||||
- Mini-PC 2 — Producto y entrega: Nest (API pública), frontend (Nuxt) dashboard, servicios de alertas (Telegram bot, SMTP), backups y monitorización.
|
||||
- Comunicación: API HTTP/REST + colas ligeras (Redis opcional).
|
||||
- Stack recomendado: Nuxt (frontend), Nest (backend), Python para ingestion, Playwright solo si PDF scraping necesario.
|
||||
|
||||
## Componentes clave
|
||||
- Ingestor: jobs programados, detección de cambios, versionado.
|
||||
- Normalizador: mapeos configurables, transformaciones reutilizables.
|
||||
- Clasificador: reglas + etiquetas (organismo, tema, territorio).
|
||||
- Alerta: perfiles de usuario, reglas de entrega, deduplicación.
|
||||
- Dashboard: novedades, cambios, tendencias, histórico.
|
||||
- Admin: usuarios, planes, facturación, logs.
|
||||
|
||||
## Monetización
|
||||
- Plan Básico – 15€/mes
|
||||
- Plan Pro – 39€/mes
|
||||
- Plan Empresa – 99€/mes
|
||||
|
||||
## KPIs iniciales
|
||||
- Tiempo medio hasta detectar un nuevo dataset.
|
||||
- Cobertura del catálogo (% datasets indexados).
|
||||
- Tasa de alertas útiles (feedback piloto).
|
||||
- Conversiones piloto→pagos.
|
||||
|
||||
## Riesgos y mitigaciones
|
||||
- Datos heterogéneos: empezar con CSV/JSON.
|
||||
- Dependencia API: historizar metadatos y tener plan B.
|
||||
- Escalabilidad en mini-PCs: diseñar componentes desacoplados.
|
||||
|
||||
## Roadmap 6 meses
|
||||
- Integrar BOE y portales autonómicos.
|
||||
- ML para clasificación automática de temas.
|
||||
- Exportes y reportes automáticos.
|
||||
- Integraciones B2B (SFTP, webhooks).
|
||||
|
||||
---
|
||||
|
||||
Archivo creado automáticamente: estructura inicial de monorepo sugerida en `README.md`.
|
||||
Reference in New Issue
Block a user