Machine: almacena datos detallados de entrega con biometría local.RutaPAE: almacena referencias a máquinas, entregas sincronizadas y estado de operador.
La aplicación Machine mantiene una base de datos local completa para procesar entregas de manera autónoma.
Almacena cada entrega procesada localmente.
Campos clave:
id: PK autoincrementadaregisteredAt: timestamp de creaciónweight: peso capturado en gramosbeneficiaryPhotoPath: ruta local a foto del beneficiarioalimentPhotoPath: ruta local a foto del productosimilarity: similitud del embedding con base de datos (0-1)beneficiaryId: FK a BeneficiarymachineEnrollmentShiftId: FK a MachineEnrollmentShiftprocessTimeMs: tiempo total de procesamientodeliveryMs: timestamp en milisegundos de la entregamachineGeneratedBeneficiaryId: ID temporal generado por la máquinaserverDeliveryId: ID remoto asignado después de sincronizaciónRelaciones:
Datos del beneficiario registrados localmente.
Campos clave:
id: PK autoincrementadaembedding: vector de 512 dimensiones (COSINE)name: nombre del beneficiarioenrollmentId: ID de inscripción localremoteBeneficiaryId: ID remoto del servidorlastRecognitionAtMs: última vez que fue reconocidomachineEnrollmentShiftId: FK a MachineEnrollmentShiftRelaciones:
Información técnica de las asignaciones remotas de la máquina.
Campos clave:
id: PK autoincrementadacampusOfferId: ID de oferta de campus remotacampusOfferPlaces: cupos disponiblescampusId: ID del campuscampusName: nombre del campuscampusCode: código institucionalmodalityId: ID de modalidadmodalityTypeName: nombre de modalidadshiftId: ID del turnoshiftName: nombre del turnogradeId: ID del gradogradeName: nombre del gradoactive: indicador de turno activoRelaciones:
Snapshot local de las jornadas operativas del día descargadas desde backend.
Campos clave:
id: PK remota de la minutadueDate: fecha/hora programadastarted: fecha/hora de inicio reportada por backendended: fecha/hora de cierre reportada por backenddeliveries: entregas registradas en backenddeliveriesDue: meta remota esperadamodalityId: modalidad a la que pertenece la jornadaUso principal:
Machine construya una vista operativa de jornadas con paridad respecto a la Maquina #1MachineEnrollmentShift) que pertenecen a la misma jornada del día
La UI principal ya no lista MachineEnrollmentShift crudo como si fuera una jornada final. Ahora calcula una OperationalShift en memoria a partir de:
MachineEnrollmentShift localesMinutaMenuDue del díaReglas principales:
MachineEnrollmentShiftMinutaMenuDue de hoy en el snapshot local, la UI conserva fallback con la asignación técnica para no esconder jornadas realesMachineEnrollmentShift representante para no romper el flujo interno de la Maquina #2SQLite con ORM personalizado VectorDB
La aplicación RutaPAE mantiene una vista sincronizada de máquinas y entregas para el operador de ruta.
Almacena entregas descargadas desde máquinas remotas.
Campos clave:
id: PK autoincrementadaregisteredAt: timestamp de creación en máquinaweight: peso de la entregalatitude: coordenada GPS de la entregalongitude: coordenada GPS de la entregacampusId: ID del campusmodalityId: ID de modalidadbenefitPhoto: URL remota de foto del beneficiariobeneficiaryEnrollmentId: ID de inscripción del beneficiariobeneficiaryPhoto: URL remota de foto del beneficiariobeneficiaryName: nombre del beneficiariomachineGeneratedBeneficiaryId: ID temporal de la máquinaprocessTimeMs: tiempo de procesamiento en la máquinadeliveryMs: timestamp de la entrega en máquinaidLocalDeliveryT: ID local de entrega en máquina (PK remota)idMachineTmp: identificador temporal de máquinaurl: URL remota de la entregaphotosUrl: URL remota de colección de fotoscheckDuplicateUrl: URL para verificación de duplicadosserverDeliveryId: ID asignado por servidormachineId: FK a Machine (la máquina de origen)synchronized: bandera de confirmación de sincronizaciónRelaciones:
Datos de máquinas descubiertas/conectadas.
Campos clave:
id: PK autoincrementadamachineId: identificador úniconame: nombre descriptivounsyncedDeliveries: entregas no descargadas aúnenrolledBeneficiaries: beneficiarios inscritosunenrolledBeneficiaries: beneficiarios no inscritoscurrentDeliveries: entregas en cursototalGoal: objetivo de entregasmodalityTypeName, shiftName, gradeName, campusName: contextomachineStatus: estado P2P (Active/Inactive/Error)weight: peso o valor relativoactive: máquina activa seleccionadastateName: nombre del estadolocalSyncedDeliveries: entregas ya descargadas localmenteRelaciones:
SQLite con ORM VectorDB| Aspecto | Machine | RutaPAE |
|---|---|---|
| Propósito | Procesar entregas | Gestionar entregas remotas |
| Beneficiary | Embedding vectorial 512d | —(no almacena) |
| Delivery fotos | Rutas locales al dispositivo | URLs remotas |
| MachineEnrollmentShift | Asignaciones técnicas de máquina | —(no almacena) |
| MinutaMenuDue | Jornada operativa del día | —(no almacena) |
| Machine | —(no almacena) | Múltiples máquinas |
| Sincronización | Envía a servidor HTTP | Descarga de máquinas vía P2P |
| Contexto | Biométrico + peso | Geolocalización + estado |
serverDeliveryId.RutaPAE solicita DELIVERIES_PAGE a la máquina.P2PDeliveryData para cada entrega.machineId de origen.