Los usuarios editoriales se crean en el dashboard de Supabase
(Authentication → Users) y reciben roles con bootstrap-roles.sql
o desde la pestaña Roles (admin).
Estado de la plataforma
De un vistazo: qué hay publicado, qué está esperando
aprobación y dónde quedan huecos por llenar.
…
cargando
Mapa de contenido — cobertura de lecturas
Cada celda es un mes. Cuanto más oscura, más completo;
las punteadas están vacías. El número es el porcentaje del mes cubierto.
Pasa el cursor por una celda para ver el detalle.
Directorio parroquial
Qué tan completa está la ficha de cada parroquia.
Las barras cortas son el trabajo pendiente.
Cargando…
Comunidad y recursos
Eventos, recursos externos y biblioteca.
Cargando…
Resumen de contenido
Cuánto contenido hay cargado, mes a mes. Cobertura =
días del mes con Evangelio en español (mismo criterio que la tabla de abajo);
Lecturas cuenta todas las lenguas. Reflexiones y oraciones son las
programadas con fecha; ✓ = todas aprobadas, si no se indica cuántas siguen
sin aprobar (borrador/revisión).
Mes
Cobertura
Lecturas
Reflexiones
Oraciones
Santos
Estado
Cargando…
Cobertura diaria — próximos 30 días
Lo que el tab "Hoy" del app necesita cada día. La reflexión y la
oración guiada se programan publicándolas con fecha (pestaña Contenido → Publicar);
aquí se ve qué días quedan descubiertos. El botón ➕ de un día sin pieza
abre "Nuevo borrador" ya preparado para ese día.
🎙 Catálogo de voces (generación bajo demanda)
Los Voice ID están en elevenlabs.io → My Voices → ⋮ → Copy
Voice ID. Requisito del servidor (una sola vez, en tu terminal): supabase secrets set ELEVENLABS_API_KEY=sk_… y
supabase functions deploy generate-audio
Voz
Idioma
Género
Voice ID
Estado
Acciones
Fecha
Día litúrgico
Santo
Lecturas (es)
Reflexión
Oración
Editar día
Lecturas de este día
Tipo
Idioma
Contenido
Audio
Nueva lectura
Cargar día completo (JSON)
Pega el arreglo JSON con todas las lecturas del día. Campos por
lectura: tipo (primera / salmo / segunda / evangelio),
idioma (es / en), fuente (título exacto o id de una
fuente ya existente), cita (pasaje, ej. «Mt 13, 24-43») y
texto o enlace (al menos uno; enlace = contingencia
de licencia). Si el día ya tiene una lectura del mismo tipo e idioma, se
reemplaza.
Contenido
Contenido
Fuente / licencia
Estado
Acciones
Las transiciones las valida la base de datos: aprobar sin revisor
teológico o sin licencia declarada falla con el motivo visible aquí. Editar contenido
aprobado/publicado lo devuelve a borrador (nueva revisión).
Editar contenido
La edición requiere rol editor o admin; la base de datos rechaza
cualquier cambio no autorizado (RLS).
Nuevo borrador de contenido
Santoral
El santo se asigna a cada fecha desde la pestaña Diario (editar día).
Aquí se administra el catálogo. Escritura: solo admin (RLS).
Nombre
Fiesta
Biografía breve
en
🖼
Nuevo santo
El crédito se guarda en la ficha del santo y se
muestra bajo la imagen en el app — NO crea entradas en la pestaña Fuentes. Usa
imágenes de dominio público o con licencia libre.
Historias de la Biblia
100 historias ilustradas (R5.1). El texto se divide en SECCIONES con una
línea que contenga solo ---: cada sección es un bloque de narración
independiente (máx. ~2 500 caracteres — límite del generador de audio). La historieta
se sube aquí y queda en el bucket stories; la narración con Antonio/Carolina
se genera sola la primera vez que alguien la escucha.
#
Título
Referencia
Test.
🖼
🧒
Publicada
Nueva historia
sin imagen
sin imagen
Feedback de usuarios
Reportes de fallas enviados desde el app (Yo → Reportar una falla),
con capturas opcionales (bucket privado feedback — se abren con URL
firmada, solo editorial). Estados: nuevo → revisado → resuelto.
Fecha
Mensaje
Plataforma
Capturas
Estado
Encuesta — Donaciones Solidarias
La v1.0 salió a tiendas con Donaciones apagada: la entrada
explica la idea y recoge esta encuesta. Sirve para decidir si se construye el
piloto y en qué ciudad arrancaría. No guarda nombre ni correo.
Umbral acordado para lanzar el piloto: 100 respuestas ·
60% que responda «la usaría» · 25 respuestas de una misma ciudad.
Sugerencias escritas
Fecha
Ciudad
Nota
Sugerencia
Moderación de propuestas de la comunidad
Lo que los usuarios proponen desde el app nace en pending
y solo aparece en el app cuando editorial lo aprueba.
Recursos externos
Recurso
Estado
Fecha
Acciones
Agregar recurso curado
Push comunitario
R8 spec 45: campañas a toda la comunidad. La Edge Function
aplica horario de silencio (21:00–07:00 GT), tope de 3 envíos por tipo
cada 7 días y el opt-out por tipo de cada usuario.
Redactar campaña
Campaña
Estado
Fecha
Acciones
Alabanzas (Spotify)
Alabanza
Estado
Fecha
Acciones
Agregar alabanza curada
Ideas de la comunidad
Idea
Estado
Reportes
Fecha
Acciones
Muro de intenciones
Regla del muro (feature #27): NADA se publica sin aprobación.
Aprobar la hace visible en el app; rechazar la deja fuera (el autor ve el estado).
Intención
Estado
Reportes
Fecha
Acciones
Eventos católicos
R9 spec 47: los eventos nacen pending salvo los de
administradores de parroquia verificados (vía exprés, con auditoría). Con 3
reportes abiertos un evento aprobado vuelve solo a revisión. Verifica fecha,
lugar y volante antes de aprobar.
Evento
Cuándo / dónde
Reportes
Estado
Acciones
Donaciones Solidarias
R9.1 spec 49 v2: toda publicación nace pending_review.
Aprobar solo significa que puede mostrarse — no certifica el artículo.
«Pedir cambios» se la devuelve al donante con nota; «Retirar» la saca
definitivamente. La moderación es de contenido y seguridad, no inspección
física.
Artículo
Punto de encuentro
Estado
Fecha
Acciones
Incidentes de donaciones
Un reporte grave congela la operación (under_review)
y suspende la publicación automáticamente. Resolver el incidente NO
reactiva nada por sí solo: decide arriba el destino de la publicación.
Categoría
Nota
Estado
Fecha
Acciones
Política de categorías de donación
Tabla configurable (AC-A3.1): allowed se publica con
moderación normal, restricted exige revisión humana,
prohibited no se puede publicar. Los cambios rigen para
publicaciones nuevas.
Categoría
Estado
Condición mínima
Foto obligatoria
Métricas del piloto
Spec 49 v2 §30-31, derivadas de la bitácora — sin
instrumentación extra. Criterios de éxito: ≥90% de operaciones sin
intervención humana, ≥85% de entregas completadas sobre operaciones
cerradas, <5% de no-show, <2 incidentes por 100 transacciones.
Métrica
Valor
Criterio
Pulsa «Calcular métricas».
Parroquias
Parroquia
Ubicación
Confirmada
Estado
Acciones
Lo publicado aparece en el mapa de "Iglesias cercanas" de la app.
Coordenadas: busca el lugar en openstreetmap.org y copia lat/lng.
⚠️ = sin confirmación en más de 6 meses.
Nueva parroquia
Solicitudes de administración
Párrocos/secretarías que piden administrar su ficha (verificación
manual). Aprobar crea el vínculo admin↔parroquia y le permite editar horarios
y contacto desde el app.
Parroquia
Solicitante
Contacto
Estado
Acciones
Administradores parroquiales
Parroquia
Usuario
Rol
Estado
Acciones
Reportes de horario incorrecto
Parroquia
Reporte
Fecha
Estado
Acciones
Altas in situ
Iglesias registradas por usuarios desde el templo (R9). Verifica
nombre, ubicación y fotos antes de aprobar. Aprobar crea la parroquia y la
publica en el mapa; rechazar pide una nota breve que el autor verá en el app.
Iglesia
Ubicación
Fotos
Fecha
Estado
Acciones
Panel de diócesis
Gestión multi-parroquia para el encargado diocesano:
parroquias de su diócesis, solicitudes de administración, reporte agregado
(solo totales — nunca datos individuales de usuarios) y carga masiva de horarios.
Tu usuario no tiene ninguna diócesis
asignada. Pide al administrador que te agregue como encargado (sección de
abajo, visible solo para admin).
Parroquias de la diócesis
Parroquia
Estado
Admin
Solic.
Confirm. 90d
Reportes
Horarios
Últ. conf.
Acciones
Editar parroquia
Solicitudes de administración
Párrocos/secretarías de TU diócesis pidiendo administrar su ficha.
Verifica el contacto antes de aprobar.
Parroquia
Solicitante
Contacto
Estado
Acciones
Carga masiva de horarios
Una línea por parroquia, campos separados por barra vertical: Nombre de la parroquia | horarios de Misa | confesión | adoración
Los campos de confesión/adoración son opcionales; un campo vacío no borra lo existente.
La coincidencia es por nombre exacto dentro de la diócesis seleccionada.
Encargados de diócesis (solo admin)
El UUID del usuario está en Supabase → Authentication → Users.
Escribe la diócesis EXACTAMENTE igual a como aparece en las fichas de parroquias.
Usuario (UUID)
Diócesis
Rol
Estado
Acciones
Fuentes (source_reference)
Título
Editorial
Licencia
Cita pública
Usos
Nueva fuente
Roles editoriales
El UUID del usuario está en el dashboard de Supabase →
Authentication → Users (columna UID). Un usuario puede tener varios roles.
Usuario (UUID)
Rol
Otorgado
Otorgar rol
Auditoría del flujo editorial (últimas 100 transiciones)
Fecha
Contenido
Transición
Actor
Notas
Estado del desarrollo · corte al 9-ago-2026
Instantánea estática del avance del proyecto; se actualiza con cada
entrega. La versión completa e interactiva vive en el
dashboard visual (requiere la cuenta del dueño).
220
commits · 29 PRs fusionados · CI verde
346/346
tests verdes (9-ago)
67
pantallas · es/en 100%
v0.1.7+10
APK v0.1.6 con los testers · re-test del QA en camino
Release 2Vivir la liturgia — push FCM ✓ verificado en dispositivo · voces clonadas en TODAS las secciones con panel de audio uniforme (la voz grabada «Edwin y Flor» se retiró el 24-jul: las clonadas la reemplazan)100%
Release 3Confesión y crecimiento (Reconciliación, Rosario completo, parroquias, puntos·grupos·rankings)100%
Release 4Aprender la fe (Biblia es/en, Catecismo, cursos, recursos) — menú por versículo con anotaciones y marcadores de color + «Mis notas» · NUEVO 9-ago (QA): el toque corto abre el menú, corazón/nota/color visibles en el versículo y «Mis notas» accesible desde el lector · falta: revisión catequista + licencia del Oficio96%
Release 5Comunidad e Iglesia local — muro de intenciones ACTIVO en la nube · falta: horarios reales de Misa, más países75%
Release 5.1Historias de la Biblia — 18 de 100 PUBLICADAS (lotes 1 y 2, adultos + niños) · NUEVO v0.1.5: el visor gira solo a horizontal y la narración sigue con Pausar y «Sección N de M» dentro de la imagen · falta: 82 historias + regenerar láminas #15 y #2088%
Release 6IA católica confiable — sin arrancar (requiere corpus curado + 6 guardrails doctrinales)0%
Release 8Orar con hondura — 10 specs COMPLETOS (8-ago): Rosario con saludo+intenciones, Lectio con Evangelio expandible, favoritos universales, planes de lectura 2.0, retos v2 con recordatorios, Catecismo ampliado + recursos por categoría, ranking global con podio, formación con progreso, notas cifradas de Reconciliación, push comunitario (FCM + opt-out por tipo)100%
Release 8.1Mejoras del dueño (8-ago): audio del Rosario SIGUE SONANDO con pantalla bloqueada (AudioSession playback) · citas bíblicas favoritas («Mis citas» + corazón en el versículo) · alabanzas abren DIRECTO en Spotify · fórmulas tradicionales aprobadas (se retiró la marca editorial)100%
Release 9Iglesia viva — 3 specs COMPLETOS (8-ago): registro de parroquias in situ (fotos sin EXIF, cola «Altas in situ» en Parroquias) · eventos católicos cercanos (calendario+filtros, volante, vía exprés parroquial, cola «Eventos» en Moderación) · temas visuales (claro/oscuro/sistema + variantes Camino·Joven·Sereno con AA y goldens en CI)100%
Release 9.1Manos abiertas — Donaciones Solidarias (spec 49 v2) CÓDIGO COMPLETO (8-ago): entrega directa donante→receptor (la parroquia solo administra ventanas y nunca toca los artículos) · 10 tablas + máquina de estados solo en servidor (migraciones 0038-0039) · confirmación doble con token DS-XXXX-XX · escalera de no-show 2/3 · hub en Explorar, mensajes estructurados y recordatorios · cola de moderación y métricas del piloto en el CMS · falta para lanzar: validación del disclaimer por el abogado, texto legal definitivo y elegir las 2-3 parroquias piloto85%
QA 9-agoCorrecciones del QA en dispositivo — 13 hallazgos cerrados en 4 PRs (#32-#35): base local tolerante a migraciones rotas + «No se pudo guardar» visible en los 9 botones que morían en silencio · tarjeta «Estado del sistema» en Yo con Copiar diagnóstico · Biblia descubrible · Familia sin audio en las guías, pasos en lista y descarga offline · salidas para desvincular la cuenta · guía de despliegue a producción100%
Lo del 9-ago (6 PRs fusionados, #30-#35,
main en f911a45): Release 9.1 «Manos abiertas» — el código de
Donaciones Solidarias entró completo (migraciones 0038-0039, 40 migraciones
aplicadas desde cero y 8 suites RLS en verde) · QA del 9-ago cerrado —
los 13 hallazgos del recorrido en dispositivo se atacaron por su causa raíz:
los botones no estaban «muertos», la base local fallaba en silencio; ahora la
migración es tolerante, el error se ve y la tarjeta «Estado del sistema» en Yo
dice en segundos qué pasó · docs/despliegue-produccion.md explica los
3 hallazgos que no son de la app sino del servidor (send-push sin desplegar,
migración 0038 sin aplicar, día sin contenido publicado) · versión a
0.1.7+10 para el re-test · iOS: entró NSFaceIDUsageDescription,
que faltaba — sin esa clave Face ID mataba la app al abrir la Tarjeta de
confesión y App Review lo habría rechazado. Antes (8-ago): Release 9 — parroquias in situ
(spec 46), eventos católicos (spec 47) y temas visuales (spec 48, ADR-010);
Release 8.1 — audio del Rosario con pantalla bloqueada, citas favoritas y
alabanzas directo a Spotify; fórmulas tradicionales aprobadas por el dueño.
Bloqueado por recursos externos
🔒 licencia litúrgica + revisión doctrinal
restante (gate de beta) · 🔒 Sentry (observabilidad) · 🔒 datos reales de
horarios de Misa · 🔒 disclaimer legal de donaciones + 2-3 parroquias piloto
(bloquea el lanzamiento del R9.1, no el código, que ya está fusionado).
iOS ya NO está bloqueado: Codemagic compila y firma en la nube (cuenta Apple
aprobada 6-ago).
Siguientes pasos
1. Servidor de producción (≈10 min, sin
publicar versión nueva) — seguir docs/despliegue-produccion.md:
supabase db push de las migraciones 0034–0040, desplegar
send-push con su secreto FCM y publicar el contenido del día desde el
CMS · 2. Re-test del QA con la v0.1.7+10: los 13 hallazgos del 9-ago,
empezando por Yo → Estado del sistema · 3. R9.1: validar el disclaimer con
el abogado y elegir las parroquias piloto · 4. Contenido: 82 historias,
láminas #15 y #20, Diario ±30 días, diócesis.