26 lines
2.0 KiB
Markdown
26 lines
2.0 KiB
Markdown
# Proyecto Lectura Integral
|
|
|
|
Aplicación educativa para navegadores + dashboard web para seguir el progreso de lectura (método Doman + Montessori + Reggio Emilia) con generación de contenido mediante un motor local (Diffusers + SD Turbo) integrado al backend NestJS.
|
|
|
|
## Estructura inicial
|
|
- `app/`: webapp React + Vite (TypeScript) para el niño, pensada como PWA usable en cualquier tablet/navegador.
|
|
- `backend/`: API NestJS + TypeScript con métricas, sincronización y servicio Gemini compartido.
|
|
- `web/`: dashboard React (Vite + TS) con paneles de progreso y disparadores de contenido para adultos.
|
|
- `content/`: plantillas de palabras, fonemas, historias y assets reutilizables.
|
|
- `progreso/`: registros en Markdown con bitácora y TODOs.
|
|
|
|
## Variables de entorno
|
|
- `.env`: define `IMAGE_SERVICE_URL` (ver `.env.example`) para apuntar al servicio FastAPI de generación local (por defecto `http://localhost:8001`).
|
|
- `app/.env`: configura `VITE_API_BASE_URL` (por defecto `http://localhost:3000`) para que la webapp consuma las imágenes/servicios del backend.
|
|
|
|
## Próximos pasos sugeridos
|
|
1. Afinar contenido inicial (palabras, fonemas, guiones de historias) y generar assets base.
|
|
2. Conectar apps al backend (auth simple, endpoints de progreso) y compartir tipado vía paquete común.
|
|
3. Integrar cliente Gemini (texto + imagen) con caché local y panel de revisión.
|
|
4. Diseñar almacenamiento offline/sincronización en mobile + visualizaciones detalladas en web.
|
|
|
|
## Generación automática local
|
|
- El backend Nest expone `/global-words` y `/global-words/:slug/image`. El primer request a cada imagen llama al servicio local (`image-service`, FastAPI + Diffusers con `stabilityai/sd-turbo`) y cachea el resultado en `content/generated/global-words/`.
|
|
- Al iniciar `backend` se lanza un prefetch en background para cubrir todas las palabras pre-cargadas sin intervención manual.
|
|
- La webapp PWA apunta a esas rutas via `VITE_API_BASE_URL` y muestra un reto de asociación palabra-imagen una vez que la ilustración está lista.
|