Progressive Web App (PWA) diseñada para acompañar a mujeres embarazadas durante el preparto mediante herramientas de seguimiento de síntomas y recomendaciones orientativas basadas en evidencia.
⚠️ Aviso importantePreParto no sustituye la valoración de profesionales sanitarios. La aplicación ofrece información y recomendaciones orientativas que deben utilizarse siempre junto con las indicaciones del equipo médico.
- Descripción
- Objetivos
- Estado del proyecto
- Características
- Principios del proyecto
- Tecnologías
- Arquitectura
- Instalación
- Uso
- Scripts
- Documentación
- Roadmap
- Contribución
- Licencia
- Autor
El objetivo de PreParto es reducir la incertidumbre durante las últimas semanas del embarazo ofreciendo herramientas sencillas que ayuden a registrar acontecimientos importantes y comprender mejor cuándo puede ser necesario contactar con el hospital.
La aplicación está diseñada siguiendo un enfoque Offline First, Mobile First y basada en reglas documentadas, priorizando siempre la seguridad y la claridad de la información.
PreParto pretende ayudar a las futuras madres y sus acompañantes a:
- Registrar contracciones.
- Registrar síntomas del preparto.
- Comprender la evolución de los síntomas.
- Recibir recomendaciones orientativas basadas en protocolos.
- Llevar un historial cronológico de los acontecimientos importantes.
- Reducir la incertidumbre antes del parto.
La aplicación no realiza diagnósticos médicos ni sustituye la atención sanitaria.
Fases 1–3 y la fase extra checklist hospital están cerradas (bitácora: docs/development/DEVELOPMENT_LOG.md). El producto es una PWA offline-first usable. El siguiente foco es Fase 4 / preparación para tiendas, no backend ni reglas clínicas nuevas.
Detalle de huecos frente a App Store / Play: docs/product/APP_STORE_READINESS.md.
- Progressive Web App (Vite +
vite-plugin-pwa): instalable,display: standalone - Iconos PWA (192 / 512 / maskable) y
apple-touch-icon - Diseño Mobile First (UI Soft Liquid Glass, barra inferior Home / timer / historial / SOS)
- Cronómetro de contracciones global y persistente, con banner al navegar
- Historial y estadísticas de contracciones
- Motor de análisis 5-1-1 / Assessment Engine (recomendaciones orientativas + disclaimer)
- Registro de síntomas y rotura de bolsa
- Historial unificado (filtros, detalle, edición, borrado, limpiar)
- Exportar / compartir historial (WhatsApp, Gmail, PDF) con disclaimer
- Emergencia y llamadas SOS (
tel:al 112 / teléfono del hospital) - Configuración: perfil de embarazo, teléfono del hospital, idioma ES/EN/DE, notificaciones locales
- Checklist «Qué llevar al hospital» (
/hospital-bag, IndexedDB) - Offline granular (Workbox, banners offline / nueva versión)
- Tests Vitest (dominio) y Playwright E2E
- Despliegue en GitHub Pages
Capacitor iOS + Android está scaffolded (com.gallagit.preparto, webDir: dist) con plugins nativos (StatusBar, Haptics, Share, KeepAwake, notificaciones locales, etc.). Hay privacidad in-app (/privacy), flujo eliminar todos mis datos, LICENSE MIT, icono 1024 / adaptive, splash de marca y capturas 6,7" / 6,5" / 5,5" + Android en ES/EN/DE. Esto no es un envío listo a App Store / Play (cuentas, firma, Data safety, riesgo residual Apple 4.2 porque la UI sigue en WebView).
Pendiente para tiendas:
- Cuentas de desarrollador, firma, fichas de consola y Data safety / Nutrition Labels
- Revisión humana de Apple 4.2 (WebView + plugins; riesgo residual)
- Capturas iPad / tablet Play; TWA opcional para Play
Fuera de alcance ahora: backend, sincronización entre dispositivos, autenticación, IA, nuevas reglas médicas, publicación en tiendas.
PreParto se desarrolla siguiendo estos principios:
- 📱 Mobile First
- 📶 Offline First
- 🧩 Componentes pequeños y reutilizables
- ⚙️ Arquitectura sencilla y mantenible
- 📖 Basado en evidencia científica
- ❤️ Diseñado para reducir la incertidumbre durante el preparto
- 🩺 Nunca sustituir el criterio médico
- ♿ Accesibilidad como prioridad
- 🔒 Privacidad de los datos de la usuaria
| Categoría | Tecnología |
|---|---|
| Lenguaje | TypeScript |
| UI | React 19 |
| Build | Vite |
| Estilos | Tailwind CSS |
| Routing | React Router DOM |
| Persistencia | IndexedDB |
| PWA | Vite Plugin PWA |
| Calidad | ESLint + Prettier |
| Testing | Vitest |
App
│
├── Providers
│
├── Pages
│
├── Components
│
├── Services
│
├── IndexedDB
│
└── Rule Engine
La arquitectura completa puede consultarse en docs/architecture/ARCHITECTURE.md.
Clonar el repositorio:
git clone https://github.com/GallaGit/preparto-app.gitEntrar en el proyecto:
cd preparto-appInstalar dependencias:
npm installSi aparece el error:
UNABLE_TO_VERIFY_LEAF_SIGNATURE
Ejecutar:
npm install --strict-ssl=falseServidor de desarrollo:
npm run devBuild de producción:
npm run buildVista previa del build:
npm run preview| Script | Descripción |
|---|---|
npm run dev |
Servidor de desarrollo |
npm run build |
Compila TypeScript y genera el build |
npm run preview |
Sirve el build localmente |
npm run lint |
Ejecuta ESLint |
npm run format |
Formatea el código con Prettier |
npm run test |
Ejecuta Vitest |
npm run test:watch |
Ejecuta Vitest en modo observación |
npm run test:e2e |
Ejecuta Playwright (flujos críticos) |
npm run cap:sync |
Build Vite y sincroniza dist con Capacitor |
npm run cap:android |
Abre el proyecto Android en Android Studio |
npm run cap:ios |
Abre el proyecto iOS en Xcode (macOS) |
npm run store:icons |
Regenera icono 1024 / adaptive y los copia a iOS/Android |
npm run store:splash |
Regenera splash / launch (Capacitor, Android 12, apple-touch) |
npm run store:screenshots |
Capturas de revisión (requiere preview en :4173) |
npm run store:screenshots:ci |
Build + preview + capturas ES/EN/DE (6,7" / 6,5" / 5,5" + Android) |
Hay pruebas unitarias de dominio (Assessment Engine, analizador de contracciones, persistencia, validaciones, i18n, export) y E2E Playwright de flujos críticos.
Guía: docs/development/TESTING.md.
Toda la documentación técnica se encuentra en la carpeta docs/.
| Documento | Descripción |
|---|---|
docs/product/PRODUCT.md |
Visión del producto y objetivos |
docs/product/ROADMAP.md |
Plan de desarrollo |
docs/product/APP_STORE_READINESS.md |
Checklist App Store / Play (huecos honestos; no es envío) |
docs/product/DECISION_ENGINE.md |
Motor de recomendaciones |
docs/product/UX_PRINCIPLES.md |
Principios de experiencia de usuario |
docs/architecture/ARCHITECTURE.md |
Arquitectura técnica |
docs/medical/MEDICAL_RULES.md |
Reglas médicas y referencias |
docs/medical/DISCLAIMER.md |
Descargo sanitario (ES; EN, DE) |
docs/product/STORE_LISTING.md |
Copy de ficha no terapéutico (placeholder) |
docs/development/CONTRIBUTING.md |
Guía para colaboradores |
docs/development/CODE_OF_CONDUCT.md |
Código de conducta |
docs/development/DEVELOPMENT_LOG.md |
Registro histórico del desarrollo |
docs/README.md |
Índice de toda la documentación |
Fases 1–3 y el checklist hospital ya están hechas.
Fase 4 es evolución técnica cuando el producto lo requiera. El trabajo inmediato documentado es la preparación para tiendas (wrapper, privacidad, splash, capturas), no sincronización ni backend.
Consulta docs/product/ROADMAP.md y docs/product/APP_STORE_READINESS.md.
Las contribuciones son bienvenidas.
Antes de colaborar, por favor consulta:
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE.
Ociel Gallardo Estiven
GitHub:
PreParto nace con un objetivo sencillo: ofrecer una herramienta útil, clara y responsable que ayude a las futuras familias a afrontar el preparto con mayor tranquilidad, siempre complementando —y nunca sustituyendo— la atención de los profesionales sanitarios.