Files
gob-alert/PLAN.md
alexandrump 82f3464565 first commit
2026-02-09 01:02:53 +01:00

10 KiB
Raw Permalink Blame History

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)

  • Definir alcance y métricas
  • Diseñar arquitectura 2 mini-PCs
  • Indexar catálogo datos.gob.es
  • Normalización y enriquecimiento (en progreso)
  • Implementar motor de descubrimiento
  • Sistema de alertas profesionales
  • Panel MVP (Dashboard)
  • Auth, usuarios y planes (en progreso)
  • Piloto con clientes
  • Monetización y política de precios
  • Monitorización, logs y backups
  • Documentación y landing
  • Pruebas y despliegue en mini-PCs
  • Iteración y roadmap 6 meses

Tareas ya realizadas

  • Esqueleto Nest en apps/api
  • Dev docker-compose.override.yml (desarrollo)
  • Ingestor básico (parcial)
  • Normalización y enriquecimiento (parcial)
  • Versionado / Histórico
  • Programar ingesta periódica (scheduler)
  • Admin endpoints for scheduler (pause/resume)
  • Queue-based ingestion (Bull + Redis)
  • Secure admin endpoints and frontend integration (API key + JWT fallback)

## 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`.