Plano completo de ecoplagas.online Versión en texto plano de https://latamcodelabs.com/plano-ecoplagas-online Primera parte (ideas, servicios externos y lógicas): https://latamcodelabs.com/como-se-construyo-ecoplagas-online.txt Autor: Pablo Paniagua, LATAM Code Labs. Permiso: contenido público para aprender. Se puede leer, citar, resumir y reutilizar (incluido el pseudocódigo), con o sin ayuda de herramientas de IA. Detalle en https://latamcodelabs.com/permisos.txt No incluye llaves, identificadores ni datos personales. # PARTE 0. Cómo usar este plano ## Para qué sirve Este documento describe ecoplagas.online con el detalle necesario para que una IA que programa (Claude Code u otra) pueda construir un sistema equivalente para otra empresa de servicios en campo: fumigación, limpieza, mantenimiento, instalaciones, reparaciones a domicilio. Describe qué hace cada módulo, qué datos guarda, qué reglas aplica y cómo se conectan las piezas. No es código para copiar. Es la especificación de un sistema que ya funciona en producción todos los días, con las decisiones que se tomaron y por qué. ## Cómo pasárselo a una IA 1. Darle primero la guía de ideas: `https://latamcodelabs.com/como-se-construyo-ecoplagas-online.txt`. 2. Darle después este plano: `https://latamcodelabs.com/plano-ecoplagas-online.txt`. 3. Pegarle esta instrucción, completando los corchetes: ``` Vas a construir para [NEGOCIO] en [PAÍS] un sistema equivalente al descrito en las dos guías que te pasé. No copies umbrales, horarios ni porcentajes sin validarlos conmigo. Fase 0: haceme las preguntas necesarias sobre mi operación (servicios, roles, turnos, cómo vendo, cómo cobro, bodegas, flota) y escribí el modelo de datos adaptado, con las colecciones y campos de la Parte 1. Después construí por fases, en el orden del plano, y al terminar cada fase: publicá, probá en vivo y decime qué número de negocio medimos. Reglas fijas: - Firebase (Hosting, Firestore, Functions, Auth, Storage), sin build step, HTML + JS directo, como en la Parte 1. - Permisos por módulo y reglas de seguridad desde el día uno, con pruebas en el emulador. - Las llaves de servicios externos solo como secretos de Functions. - Nada se borra: cancelar, archivar y dejar historial. ``` ## Orden de construcción recomendado El sistema creció durante 10 meses. Si se empezara hoy, este es el orden que tiene sentido, porque cada fase usa los datos de la anterior: | Fase | Qué construir | Partes del plano | Por qué en este orden | |---|---|---|---| | 1 | Proyecto, login, empleados, permisos, header, reglas base, publicación automática | Parte 1 | Todo lo demás cuelga de saber quién es el usuario y qué puede abrir | | 2 | Catálogos (servicios, productos), clientes y agenda de citas con historial | Partes 1 y 2 | La cita es el centro: venta, ruta, inventario y cobro salen de ella | | 3 | Ruteador, vista del técnico, reporte de servicio con fotos, cobro | Parte 2 | Cierra el ciclo de la cita en campo | | 4 | Inventario: bodegas, movimientos, gasto por cita, alisto | Parte 4 | Necesita citas y servicios con su receta de productos | | 5 | WhatsApp oficial, conversaciones, embudo del vendedor, reparto | Parte 3 | Necesita empleados con turnos y la agenda para agendar | | 6 | Horas, planilla, comisiones | Parte 4 | Necesita citas cobradas y vendedores asignados | | 7 | Atribución de publicidad, reportes de canales, tableros | Parte 5 | Necesita leads con origen y citas con monto | | 8 | GPS, alertas, puntualidad | Parte 5 | Necesita ruteador con vehículos | | 9 | Capacitación, cumplimiento, portal de clientes, garantías | Partes 3 y 5 | Capas de calidad sobre un sistema ya estable | | 10 | IA: bot de ventas, revisión de textos, simulador | Partes 3 y 5 | Solo cuando las reglas y los datos ya están firmes | ## Convenciones del plano - Los nombres de colecciones, campos, archivos y funciones son los reales del sistema, para que se entienda la relación entre piezas. Se pueden renombrar. - El pseudocódigo está en español y no depende de un lenguaje. - Donde dice "gerencia", "un vendedor" o "un técnico" se refiere a un rol, no a una persona. - Los números (minutos, metros, porcentajes) son los que funcionaron en EcoPlagas en Costa Rica en 2026. - No se incluyen llaves, identificadores de cuentas, teléfonos ni datos de personas. # PARTE 1. Plataforma y arquitectura Este capítulo describe lo que comparten todas las pantallas del sistema: cómo está armado el repositorio, cómo se publica, cómo entra y se identifica una persona, cómo se decide qué puede ver y tocar, qué servicios corren en todas las páginas (encabezado, tema, reporte de problemas, presencia, aviso de versión), cómo están escritas las reglas de seguridad de la base de datos, cómo se organizan las funciones de servidor y qué se aprendió sobre costos. El sistema es una aplicación web interna de una empresa de control de plagas (agenda de citas, rutas de técnicos, inventario de bodegas, CRM de WhatsApp, planilla, reportes). Corre sobre Firebase: Hosting para los archivos, Firestore como base de datos, Firebase Auth para las cuentas, Cloud Storage para archivos y Cloud Functions (Node.js 22) para la lógica de servidor. ## 1. Estructura del repositorio y publicación ### 1.1 Principios de construcción - **Sin paso de compilación.** No hay bundler, transpilador ni `npm run build` para el frontend. Lo que está en `public/` es exactamente lo que se sirve. Cada página es un `.html` autocontenido con su `