══════════════════════════════════════════════════════════════ PROYECTO GMAO — HORNO LA PARRA Brief completo para Claude / Cowork ══════════════════════════════════════════════════════════════ QUIÉN SOY ───────── Javier Pineda, gerente de El Pan de Cada Día, S.L. (marca: Horno La Parra). Panadería industrial en Valencina de la Concepción, Sevilla. No soy programador — necesito instrucciones claras y sin jerga. Si algo queda a medias, dímelo explícitamente. QUÉ QUIERO ─────────── Un GMAO (Sistema de Gestión de Mantenimiento) web, personalizado para mis dos fábricas. Tiene que ser muy visual, intuitivo y rápido de usar para un equipo de mantenimiento que va con el móvil en la mano por la fábrica. Nada de pantallas complicadas ni formularios largos. CONTEXTO TÉCNICO (ya tengo 2 apps funcionando) ─────────────────────────────────────────────── Ya tengo dos aplicaciones Flask en producción en un PC con Windows 10: 1. Dashboard de Producción (puerto 5000) - Carpeta: C:\Users\USER\Desktop\Harina\ - Flask + pyodbc + SQLite - Consulta SQL Server (HBtechnik) en las dos fábricas 2. Fichas Técnicas (puerto 5001) - Carpeta: C:\Users\USER\Desktop\Fichas tecnicas App\fichas_tecnicas\ - Flask + SQLite - Gestión de fichas, alérgenos, recetas, calidad Infraestructura compartida: - ngrok con cuenta de pago (10 túneles, dominios fijos) - Watchdog master que arranca todo al encender el PC - Config ngrok: C:\Users\USER\Desktop\Fichas tecnicas App\ngrok.yml El GMAO será la TERCERA app. Quiero que use el mismo stack: - Flask + SQLite (puerto 5002) - Mismo PC Windows 10 - Nuevo túnel ngrok con dominio fijo (ej: gmao.laparra.ngrok.app) - Añadirlo al watchdog existente - Sin venv — pip global - HTML monolítico servido por Flask (como las otras dos apps) - PWA instalable en móvil PLAN DE REORGANIZACIÓN: Al ser la tercera app, quiero migrar todo a: C:\LaParraApps\ ├── dashboard\ (lo que ahora está en Desktop\Harina) ├── fichas_tecnicas\ (lo que ahora está en Desktop\Fichas tecnicas App) ├── gmao\ (nueva app) ├── watchdog_master.py (centralizado, vigila las 3 apps + ngrok) └── ngrok.yml (config unificada con 3 túneles) MIS DOS FÁBRICAS — ESTRUCTURA FÍSICA ───────────────────────────────────── El GMAO tiene que conocer la estructura real de mis fábricas. Todo el equipamiento está organizado así: ▸ FÁBRICA: PIDEPAN (principal) ├── Obrador 1 (pan blanco estándar) │ ├── Mixer 3 (tolva de pesaje — sí, Mixer 3 = Obrador 1) │ ├── Amasadora │ ├── Divisora │ ├── Cámara de fermentación │ ├── Horno │ └── Línea de envasado / congelación │ ├── Obrador 2 (panes especiales) │ ├── Mixer 2 (tolva de pesaje) │ ├── Amasadora │ ├── Divisora │ ├── Cámara de fermentación │ ├── Horno │ └── Línea de envasado / congelación │ ├── Obrador Plaff (pan precocido) │ ├── Mixer 1 (tolva de pesaje) │ ├── Amasadora │ ├── Línea Plaff (formado automático) │ ├── Cámara de fermentación │ └── Horno Plaff │ ├── Cámaras de congelación (compartidas) ├── Cámaras de conservación (compartidas) ├── Silos de harina (4-5 silos, compartidos entre obradores) ├── Compresor(es) de aire ├── Cuadro eléctrico general └── Instalación de agua / fontanería ▸ FÁBRICA: LA PARRA (secundaria) ├── Obrador La Parra (un solo obrador, dos tolvas) │ ├── Mixer 1 (tolva) │ ├── Mixer 2 (tolva) │ ├── Amasadora │ ├── Divisora │ ├── Cámara de fermentación │ └── Horno │ ├── Cámaras de congelación ├── Silos de harina └── Instalaciones generales NOTA: Esta lista es orientativa. Necesito poder AÑADIR, EDITAR y ELIMINAR equipos fácilmente desde la propia app. No quiero que estén hardcodeados. El sistema tiene que dejarme montar el árbol de equipos como yo quiera. QUÉ NECESITO QUE HAGA EL GMAO ────────────────────────────── 1. ÁRBOL DE EQUIPOS (estructura jerárquica) - Fábrica → Zona → Equipo → Componente (si procede) - Cada equipo con: nombre, ubicación, marca, modelo, nº serie, foto (opcional), fecha instalación, estado (activo/fuera de servicio) - Poder añadir/editar/mover equipos fácilmente - Vista de árbol desplegable visual 2. ÓRDENES DE TRABAJO (OT) — el corazón del sistema - Crear OT rápido desde el móvil: seleccionar equipo, describir avería, prioridad (urgente/alta/media/baja), foto opcional - Estados: Pendiente → En curso → Completada → Cerrada - Asignar a un técnico del equipo de mantenimiento - Registro de lo que se hizo, repuestos usados, tiempo empleado - Historial completo por equipo (ver todas las OT de una máquina) 3. MANTENIMIENTO PREVENTIVO - Planes de mantenimiento por equipo (ej: "Engrasar cadena cada 500h" o "Revisar correas cada mes") - Generación automática de OT cuando toque - Calendario visual con lo que viene próximamente - Checklist de tareas para cada preventivo 4. INVENTARIO DE REPUESTOS (básico) - Lista de repuestos con: nombre, referencia, proveedor, stock actual, stock mínimo, ubicación en almacén - Aviso cuando el stock baje del mínimo - Vincular repuestos usados a cada OT 5. DASHBOARD / PANEL PRINCIPAL - Resumen visual al abrir: OTs pendientes, preventivos próximos, avisos de stock, equipos fuera de servicio - KPIs básicos: nº averías/mes, tiempo medio de respuesta, % cumplimiento preventivo - Gráficos sencillos (barras, tendencias) 6. EQUIPO DE MANTENIMIENTO - Usuarios con nombre y rol (jefe mantenimiento, técnico, operario) - Cada técnico ve sus OT asignadas - Yo (admin) veo todo CÓMO QUIERO QUE SE SIENTA LA APP ───────────────────────────────── - RÁPIDA: un operario con las manos llenas de harina tiene que poder reportar una avería en 3 toques desde el móvil - VISUAL: colores para prioridades, iconos claros, nada de texto pequeño - SIMPLE: si un técnico necesita formación para usarla, está mal hecha - MOBILE-FIRST: el 90% del uso será desde móvil/tablet en fábrica - Botón grande tipo "REPORTAR AVERÍA" siempre visible - Notificaciones visuales (badge) para OTs nuevas/urgentes - Modo oscuro NO necesario — fondo claro para ver bien en fábrica COLORES CORPORATIVOS (mismos que las otras apps) ───────────────────────────────────────────────── - Burdeos principal: #6B1A2A - Burdeos oscuro: #4A0F1C - Dorado: #C9972A - Fondo claro: #F7F2E8 - Para estados: rojo=urgente, naranja=alta, amarillo=media, verde=baja/ok USUARIOS Y SEGURIDAD ──────────────────── - Roles: admin (yo), jefe_mantenimiento, tecnico, operario - operario: solo puede crear OTs (reportar averías) y ver estado - tecnico: crear OT, ver asignadas, completar OT, consultar equipos - jefe_mantenimiento: todo excepto admin - admin: todo (gestión usuarios, configuración, informes) - Login con usuario/contraseña (como en Fichas Técnicas) - Sesiones con cookie (igual que las otras apps) DATOS DE CONEXIÓN (para ngrok y watchdog) ───────────────────────────────────────── - Cuenta ngrok: tech.hornolaparra@gmail.com - Authtoken: 3CTsI0Hywn38HulsRd59L3FUMHh_6eL5kiqK66dmvnzqmzXb8 - Puerto GMAO: 5002 - Dominio propuesto: gmao.laparra.ngrok.app (hay que crearlo en ngrok) REGLAS PARA CLAUDE ────────────────── 1. No preguntes — ejecuta y al final di qué hiciste y qué quedó pendiente 2. Lenguaje claro — no soy programador 3. Si algo queda a medias, dilo explícitamente 4. No uses venv — todo con pip global 5. Flask + SQLite + HTML monolítico (como mis otras apps) 6. Mobile-first: diseñar primero para móvil, luego adaptar a escritorio 7. PWA instalable con manifest.json e iconos 8. Backup automático diario de la base de datos con rotación de 7 9. El puerto 5002 es fijo 10. Probar que arranca después de cada cambio CÓMO EMPEZAR ──────────── 1. Primero: crear la estructura de carpetas en C:\LaParraApps\gmao\ 2. Crear la base de datos SQLite con todas las tablas necesarias 3. Backend Flask completo (app.py) 4. Frontend HTML monolítico con todo el JS y CSS inline 5. Seed inicial con la estructura de mis fábricas (la de arriba) 6. Sistema de login y roles 7. Probar que arranca en puerto 5002 8. Luego: migrar las otras dos apps a C:\LaParraApps\ y unificar watchdog PRIORIDAD DE DESARROLLO (en este orden) ──────────────────────────────────────── Fase 1: Árbol de equipos + OTs (lo mínimo para empezar a usar) Fase 2: Mantenimiento preventivo + calendario Fase 3: Inventario de repuestos Fase 4: Dashboard con KPIs e informes Fase 5: Migración de las otras apps + watchdog unificado