Saltar al contenido principal

Avance construido — primer bloque de trabajo

Informe del estado del sistema tras el bloque mensual de horas trabajadas y abonado.

Resumen del alcance de este bloque

Se estableció la base del sistema: backend con modelo de datos y seguridad definidos, el panel administrativo operativo (backoffice) y la landing pública con acceso por QR. Este es el cimiento sobre el cual se construirán los módulos de análisis de plantas, la app cliente y los reportes de gestión.


1. Backend — PocketBase (base)

Base de datos versionada en migraciones, 10 colecciones, con modelo de seguridad operativo por tenencia de grupo.

  • admin_groups, users (extendida): login por username/email, teléfono en E.164, rol de administrador y vinculación a grupo. Reglas que limitan la visibilidad a la data del propio grupo.
  • places, sub_places: lugares con dirección geocodificada, coordenadas, tipo, horario de atención y perfil climático. Sub-unidades con plano ortogonal (plan_image) y escala de marcadores.
  • plant_types: catálogo público con nombre común, nombre científico y galería de fotos (con thumbnails).
  • plants: inventario con código único, lugar actual y lugar de alta (inmutable). Posibilidad de ubicación dentro del plano.
  • plant_locations: posición exacta de cada planta dentro de un plano (x/y normalizados), condiciones de luz y notas. Relación 1:1 con la planta.
  • transfers: histórico de vida de cada planta con los movimientos previstos: alta (acquire), traslado, reubicación (con registro de cambio de condiciones), préstamo (con fecha de devolución) e intercambio (entre dos plantas, atómico).
  • plant_identifiers: códigos públicos (por ejemplo PLT-xxxxxxxx) que enlazan la landing y la app cliente con la ficha de cada planta.
  • landing_settings: configuración pública editable del sitio (número de contacto).

El backend ya responde, el modelo ya valida lo construido hasta ahora.

2. Backoffice — panel administrativo (operativo)

React 19 + Vite + TanStack Router. El panel está funcional end-to-end para cargar y operar el inventario:

  • Acceso: login por username, sesión con duración definida.
  • Dashboard: indicadores de carga de plantas, grupos y ubicaciones.
  • Grupos administrativos: crédito y edición de cuentas (teléfono validado) y lugares.
  • Lugares: alta con autocompletado de direcciones (Nominatim), geocodificación automática, generación del perfil climático (Open-Meteo, 5 años) y descarga en cascada de las sub-unidades.
  • Planos de sub-unidades: visualización del plano, carga y recorte de imágenes, arrastre de plantas al plano, reposicionamiento de marcadores, edición de condiciones de luz (con obligación de registrar motivo) y ajuste de escala.
  • Plantas: alta asistida (especie → grupo → unidad → sub-unidad) con generación automática del código; inventario con filtros, selección múltiple y paginación; generación de plantilla de códigos QR imprimibles.
  • Ficha de planta: ubicación actual en el plano, condiciones de luz, lugar de alta histórico, historial de vida (transfers) y acciones (trasladar, reubicar, préstamo, devolver, intercambio) que registran cada movimiento.
  • Tipos de planta: catálogo con búsqueda y galería de fotos.
  • Landing: configuración de contacto público.

Todo lo del backoffice se conecta al backend con reglas que respetan la tenencia de grupo: un administrador solo ve su grupo, a menos que sea super-admin.

3. Landing pública (online)

Sitio Astro que consume el backend y sirve la cara pública del producto:

  • Homepage institucional de la marca con propuesta de valor y secciones de beneficios y público objetivo.
  • Página de planta por QR: acceso público a la ficha de cada especie mediante su código (/{planta}/{codigo}), con resolución en el servidor, manejo de estados (activo, inactivo, no encontrado — 404 real) y salida a WhatsApp.
  • WhatsApp de contacto configurable desde el panel.

4. App cliente — estado actual

Aplicación base generada (Expo 57) con su configuración de branding, iconos y splash. El scaffolding está presente y compila, pero aún no contiene las pantallas ni la integración con el backend. Este es el próximo bloque a desarrollar para habilitar la operación diaria de los usuarios finales.


Estado de la base construida

  • Backend con modelo de datos y seguridad operativa
  • Panel administrativo (backoffice) con carga y operación de inventario
  • Landing pública con acceso por QR
  • App cliente con escaneo de QR y ficha de planta (pendiente)
  • Reportes de gestión y análisis de plantas (pendiente)
  • Soporte y herramientas operativas (pendiente)

La base está terminada y sirve para seguir. El sistema actual ya permite administrar el inventario completo desde el backoffice y consultar especies públicamente por QR.


Próximos bloques de horas

Con la base entregada, los bloques de trabajo futuros progresan sobre este cimiento:

  1. App cliente con escaneo de QR, ficha de planta y flujo de usuario.
  2. Análisis de plantas y condiciones de cultivo.
  3. Reportes de gestión, historial y soporte.

Este informe cierra el bloque mensual abonado. La continuidad del desarrollo requiere el próximo bloque de horas.