Backend de CRM de Despacho de Rutas y Recolección
Enrutamiento de Recolección y Control de Contenedores
Un backend de gestión de residuos en Back4app listo para producción con `Operador`, `Ruta`, `Contenedor`, `HorarioDeRecolección`, y `RegistroDeCumplimiento`. Administra el despacho, inventario de contenedores, estado de recolección y registros de inspección desde un contrato de backend.
Conclusiones sobre operaciones de residuos
Esta plantilla te da un backend de gestión de residuos con `Operator`, `Route`, `Container`, `PickupSchedule`, y `ComplianceLog` para que los coordinadores puedan mantener rutas, contenedores, recogidas y auditorías en un solo lugar.
- Control de rutas y despachadores — Modela entradas de `Route` con `routeCode`, `serviceArea`, `routeStatus`, y el puntero `dispatcher` a `Operator` para la planificación diaria.
- Seguimiento del inventario de contenedores — Mantén registros de `Container` para `containerTag`, `containerType`, `capacityLiters`, `conditionStatus`, `lastInspectionAt`, y `assignedRoute` en lugar de manejar hojas de cálculo.
- Coordinación del horario de recogida — Almacena elementos de `PickupSchedule` con `pickupCode`, `pickupDate`, `pickupStatus`, `route`, `container`, `assignedCrewLead`, y `notes` para cada parada.
- Registro de cumplimiento — Almacena elementos de `ComplianceLog` para `inspectionType`, `logStatus`, `relatedPickup`, `relatedContainer`, `recordedBy` y `evidenceUrl` conectados a la recogida o contenedor adecuado.
¿Qué es la plantilla de la aplicación cliente de gestión de residuos?
Los clientes esperan actualizaciones proactivas en la gestión de residuos, lo cual solo es realista cuando el estado del caso, los documentos y los siguientes pasos residen en un solo sistema. Pequeños retrasos se acumulan rápidamente. El flujo de trabajo de gestión de residuos aquí es explícito en datos: las entidades centrales en Back4app reemplazan notas ad-hoc con progreso estructurado y consultable. El esquema cubre `Operator` (nombre de usuario, correo electrónico, contraseña, rol, nombre completo), `Route` (routeCode, serviceArea, routeStatus, dispatcher), `Container` (containerTag, containerType, capacityLiters, conditionStatus, assignedRoute, lastInspectionAt), `PickupSchedule` (pickupCode, pickupDate, pickupStatus, route, container, assignedCrewLead, notes) y `ComplianceLog` (logCode, inspectionType, logStatus, relatedPickup, relatedContainer, recordedBy, evidenceUrl) con acceso basado en autenticación y roles incorporado. Conéctate a tu frontend preferido y gestiona el despacho, los contenedores y los registros desde un solo contrato de backend.
Mejor para:
Resumen de la plantilla de gestión de residuos
la gestión de residuos no solo se trata de velocidad; se trata de la defensabilidad cuando alguien pregunta “muéstrame cómo supiste que eso era cierto.”
Cada tarjeta de tecnología aquí se mapea al mismo modelo de gestión de programación de recogidas, seguimiento del inventario de contenedores, registro de cumplimiento: elija una pila sin renegociar su contrato backend.
Características clave de gestión de residuos
Cada tarjeta de tecnología en este centro utiliza el mismo esquema de backend de gestión de residuos con `Operator`, `Route`, `Container`, `PickupSchedule` y `ComplianceLog`.
Gestión del horario de recogida
`PickupSchedule` almacena `pickupCode`, `pickupDate`, `pickupStatus`, `route`, `container`, `assignedCrewLead` y `notes`.
Seguimiento del inventario de contenedores
`Container` mantiene `containerTag`, `containerType`, `capacityLiters`, `conditionStatus`, `assignedRoute` y `lastInspectionAt`.
Registro de cumplimiento
`ComplianceLog` registra `logCode`, `inspectionType`, `logStatus`, `relatedPickup`, `relatedContainer`, `recordedBy` y `evidenceUrl`.
Acceso y roles de operador
`Operator` almacena `username`, `email`, `password`, `role` y `fullName`.
¿Por qué construir su backend de despacho de residuos con Back4app?
Back4app proporciona a los equipos de gestión de residuos las primitivas de datos que necesitan: rutas, recogidas, contenedores y registros de cumplimiento, sin obligarlos a operar su propia base de datos y capa de API.
- •Modelado de rutas, recogida y contenedores: Una clase `Route` para planificación, una clase `PickupSchedule` para asignaciones y una clase `Container` para depósitos, capacidad y condición mantienen las operaciones legibles.
- •Trazabilidad de ComplianceLog: Vincula las filas de `ComplianceLog` a un `PickupSchedule`, `Container` y `Operator` para que las inspecciones y acciones correctivas sean auditables.
- •Actualizaciones en tiempo real de despacho e inventario: Usa Live Queries en `Route`, `PickupSchedule` y `Container` para reflejar los cambios de estado tan pronto como sucedan.
Construye el backend operativo una vez, luego reutiliza el mismo contrato en pantallas de despacho, campo y gestión.
Beneficios operacionales
Un backend de gestión de residuos que mantiene los datos de despacho estructurados y accesibles.
Coordinación de rutas más rápida
Empiece con `Route` y `PickupSchedule` en lugar de construir tablas de despacho desde cero.
Mayor visibilidad del inventario
Utiliza campos `Container` como `containerTag`, `containerType`, `capacityLiters`, `conditionStatus` y `lastInspectionAt` para ver lo que necesita atención.
Historial de cumplimiento listo para auditoría
Almacena cada entrada de `ComplianceLog` con `inspectionType`, `evidenceUrl`, `relatedPickup` y `recordedBy` para que los seguimientos sean rastreables.
Operaciones conscientes del rol
Utiliza ACLs y CLPs para que solo los operadores autorizados puedan editar rutas, recogidas, contenedores o notas de cumplimiento.
Una API para aplicaciones de despacho y de campo
Expón los mismos datos de ruta, recogida, contenedor y registro a través de REST y GraphQL a cada cliente.
Arranque asistido por IA
Genera esquemas, permisos y orientación de integración a partir de un solo aviso antes de que termine el primer sprint.
¿Listo para lanzar tu aplicación de gestión de residuos?
Deja que el Agente AI de Back4app esqueletee tu backend de gestión de residuos y genere rutas, recogidas, contenedores y flujos de cumplimiento desde un solo comando.
Gratis para empezar — 50 comandos de Agente AI/mes, no se requiere tarjeta de crédito
Tecnología para Operaciones de Residuos
Todo incluido en esta plantilla de backend de gestión de residuos.
Diagrama ER de Rutas
Modelo de relación de entidades para el esquema del backend de gestión de residuos.
Esquema que cubre operadores, rutas, contenedores, horarios de recogida y registros de cumplimiento.
Ver fuente del diagrama
erDiagram
Operator ||--o{ Route : "dispatcher"
Operator ||--o{ PickupSchedule : "assignedCrewLead"
Operator ||--o{ ComplianceLog : "recordedBy"
Route ||--o{ Container : "assignedRoute"
Route ||--o{ PickupSchedule : "route"
Container ||--o{ PickupSchedule : "container"
Container ||--o{ ComplianceLog : "relatedContainer"
PickupSchedule ||--o{ ComplianceLog : "relatedPickup"
Operator {
String objectId PK
String username
String email
String password
String role
String fullName
Date createdAt
Date updatedAt
}
Route {
String objectId PK
String routeCode
String serviceArea
String routeStatus
String dispatcherId FK
Date createdAt
Date updatedAt
}
Container {
String objectId PK
String containerTag
String containerType
Number capacityLiters
String conditionStatus
String assignedRouteId FK
Date lastInspectionAt
Date createdAt
Date updatedAt
}
PickupSchedule {
String objectId PK
String pickupCode
Date pickupDate
String pickupStatus
String routeId FK
String containerId FK
String assignedCrewLeadId FK
String notes
Date createdAt
Date updatedAt
}
ComplianceLog {
String objectId PK
String logCode
String inspectionType
String logStatus
String relatedPickupId FK
String relatedContainerId FK
String recordedById FK
String evidenceUrl
Date createdAt
Date updatedAt
}
Flujo de Integración de Despacho
Flujo de ejecución típico para iniciar sesión, consultas de horarios de recogida, actualizaciones de inventario de contenedores y registro de cumplimiento.
Ver origen del diagrama
sequenceDiagram
participant User
participant App as Waste Management Client App
participant Back4app as Back4app Cloud
User->>App: Sign in as manager or coordinator
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Open pickup schedules
App->>Back4app: GET /classes/PickupSchedule?include=route,container,assignedCrewLead
Back4app-->>App: PickupSchedule list
User->>App: Review container inventory
App->>Back4app: GET /classes/Container?include=assignedRoute
Back4app-->>App: Container list
User->>App: Add a compliance log for a pickup
App->>Back4app: POST /classes/ComplianceLog
Back4app-->>App: ComplianceLog objectId
App->>Back4app: Subscribe to route and pickup updates
Back4app-->>App: LiveQuery notificationsDiccionario de campos
Referencia completa a nivel de campo para cada clase en el esquema de gestión de residuos.
| Campo | Tipo | Descripción | Requerido |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Auto |
| username | String | Operator login name | |
| String | Operator email address | ||
| password | String | Hashed password (write-only) | |
| role | String | Role of the operator (e.g., manager, coordinator) | |
| fullName | String | Display name used by the operations team | |
| createdAt | Date | Auto-generated creation timestamp | Auto |
| updatedAt | Date | Auto-generated last-update timestamp | Auto |
8 campos en Operator
Permisos de ruta y seguridad
Cómo la estrategia ACL y CLP asegura operadores, rutas, contenedores, horarios de recogida y registros de cumplimiento.
Acceso basado en roles para operaciones
Los gerentes pueden supervisar todas las rutas, mientras que los coordinadores y líderes de equipo solo editan los registros de `Route`, `PickupSchedule` y `Container` asignados a ellos.
Integridad del registro de cumplimiento
Sólo los operadores autorizados pueden crear o modificar entradas de `ComplianceLog`; validar la escritura en Cloud Code cuando una nota hace referencia a un incidente cerrado.
Visibilidad restringida para los equipos de campo
Restringir lecturas para que el personal de campo vea las filas de `PickupSchedule` y `Container` relevantes para su ruta o instalación.
Esquema JSON
Definición de esquema JSON en bruto lista para copiar en Back4app o usar como referencia de implementación.
{
"classes": [
{
"className": "Operator",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"username": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": true
},
"password": {
"type": "String",
"required": true
},
"role": {
"type": "String",
"required": true
},
"fullName": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Route",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"routeCode": {
"type": "String",
"required": true
},
"serviceArea": {
"type": "String",
"required": true
},
"routeStatus": {
"type": "String",
"required": true
},
"dispatcher": {
"type": "Pointer",
"required": true,
"targetClass": "Operator"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Container",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"containerTag": {
"type": "String",
"required": true
},
"containerType": {
"type": "String",
"required": true
},
"capacityLiters": {
"type": "Number",
"required": true
},
"conditionStatus": {
"type": "String",
"required": true
},
"assignedRoute": {
"type": "Pointer",
"required": true,
"targetClass": "Route"
},
"lastInspectionAt": {
"type": "Date",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "PickupSchedule",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"pickupCode": {
"type": "String",
"required": true
},
"pickupDate": {
"type": "Date",
"required": true
},
"pickupStatus": {
"type": "String",
"required": true
},
"route": {
"type": "Pointer",
"required": true,
"targetClass": "Route"
},
"container": {
"type": "Pointer",
"required": true,
"targetClass": "Container"
},
"assignedCrewLead": {
"type": "Pointer",
"required": true,
"targetClass": "Operator"
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "ComplianceLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"logCode": {
"type": "String",
"required": true
},
"inspectionType": {
"type": "String",
"required": true
},
"logStatus": {
"type": "String",
"required": true
},
"relatedPickup": {
"type": "Pointer",
"required": false,
"targetClass": "PickupSchedule"
},
"relatedContainer": {
"type": "Pointer",
"required": true,
"targetClass": "Container"
},
"recordedBy": {
"type": "Pointer",
"required": true,
"targetClass": "Operator"
},
"evidenceUrl": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}Construir con el Agente de IA
Utiliza el Agente de IA de Back4app para generar una aplicación real de gestión de residuos a partir de esta plantilla, incluyendo frontend, backend, autenticación, y flujos de ruta, recogida, contenedor y cumplimiento.
Crea un backend seguro para la aplicación cliente de gestión de residuos en Back4app con este esquema y comportamiento exacto. Esquema: 1. Operador (usa conceptos de autenticación incorporados de Back4app): nombre de usuario, correo electrónico, contraseña, rol, nombre completo; objectId, createdAt, updatedAt (sistema). 2. Ruta: routeCode (String, requerido), serviceArea (String, requerido), routeStatus (String, requerido), dispatcher (Puntero a Operador, requerido); objectId, createdAt, updatedAt (sistema). 3. Contenedor: containerTag (String, requerido), containerType (String, requerido), capacityLiters (Número, requerido), conditionStatus (String, requerido), assignedRoute (Puntero a Ruta, requerido), lastInspectionAt (Fecha, opcional); objectId, createdAt, updatedAt (sistema). 4. PickupSchedule: pickupCode (String, requerido), pickupDate (Fecha, requerido), pickupStatus (String, requerido), route (Puntero a Ruta, requerido), container (Puntero a Contenedor, requerido), assignedCrewLead (Puntero a Operador, requerido), notes (String, opcional); objectId, createdAt, updatedAt (sistema). 5. ComplianceLog: logCode (String, requerido), inspectionType (String, requerido), logStatus (String, requerido), relatedPickup (Puntero a PickupSchedule, opcional), relatedContainer (Puntero a Contenedor, requerido), recordedBy (Puntero a Operador, requerido), evidenceUrl (String, opcional); objectId, createdAt, updatedAt (sistema). Seguridad: - Los gerentes pueden crear y actualizar rutas, contenedores, horarios de recogida y registros de cumplimiento. - Los coordinadores pueden actualizar los estados de recogida y añadir registros de cumplimiento vinculados a sus rutas asignadas. - Solo los miembros del equipo asignados pueden editar un horario de recogida o un registro de cumplimiento después de su creación. - Restringir el acceso de lectura a registros operacionales por rol y asignación de ruta. Autenticación: - Registro, inicio de sesión, cierre de sesión. Comportamiento: - Listar horarios de recogida por ruta y pickupDate. - Crear y editar contenedores y asignaciones de ruta. - Registrar registros de cumplimiento para chequeos de seguridad, auditorías de ruta y revisiones de derrames. Entregar: - App de Back4app con esquema, CLPs, ACLs, y un panel de control para horarios, inventario de contenedores y seguimiento de cumplimiento.
Presiona el botón abajo para abrir el Agente con este aviso de plantilla pre-completado.
Este es el aviso base sin un sufijo tecnológico. Puedes adaptar la pila de frontend generada después.
API Sandbox
Pruebe los endpoints REST y GraphQL contra el esquema de gestión de residuos. Las respuestas utilizan datos simulados y no requieren una cuenta de Back4app.
Usa el mismo esquema que esta plantilla.
Elige tu tecnología
Expande cada tarjeta para ver cómo integrar Operador, Nombre y Ruta con tu pila elegida.
Flutter Backend de gestión de residuos
React Backend de gestión de residuos
React Nativo Backend de gestión de residuos
Next.js Backend de gestión de residuos
JavaScript Backend de gestión de residuos
Android Backend de gestión de residuos
iOS Backend de gestión de residuos
Vue Backend de gestión de residuos
Angular Backend de gestión de residuos
GraphQL Backend de gestión de residuos
REST API Backend de gestión de residuos
PHP Backend de gestión de residuos
.NET Backend de gestión de residuos
Lo que obtienes con cada tecnología
Cada pila utiliza el mismo esquema de backend de gestión de residuos y contratos API.
Estructura de datos unificada de operaciones de residuos
Gestiona `Operador`, `Ruta`, `Contenedor`, `HorarioDeRecogida`, y `RegistroDeCumplimiento` con un esquema consistente.
Visibilidad de rutas e inventario
Mantén los cambios en el horario y la condición del contenedor sincronizados en todas las pantallas operativas.
Soporte de registro de cumplimiento
Registra inspecciones, notas y acciones de seguimiento con un claro rastro de auditoría.
Operaciones conscientes del rol
Define acceso para gerentes, coordinadores y personal de campo sin cambiar el esquema.
REST/GraphQL APIs para aplicaciones operativas
Integra herramientas móviles, web e internas usando APIs flexibles.
Arquitectura extensible para flujos de trabajo de residuos
Agrega tickets de servicio o notificaciones más tarde sin reescribir clases centrales.
Comparación del Marco de Operaciones de Residuos
Compara la velocidad de configuración, el estilo del SDK y el soporte de IA entre todas las tecnologías compatibles.
| Marco | Tiempo de configuración | Beneficio de gestión de residuos | Tipo de SDK | Soporte de IA |
|---|---|---|---|---|
| Acerca de 5 min | Código base único para vistas de ruta, contenedor y cumplimiento. | SDK tipado | Completo | |
| Menos de 5 minutos | Panel web rápido para coordinadores de operaciones. | SDK con tipado | Completo | |
| ~3–7 min | Aplicación móvil multiplataforma para equipos de campo. | SDK con tipado | Completo | |
| Configuración rápida (5 min) | Aplicación web renderizada en servidor para despacho e inventario. | SDK con tipado | Completo | |
| ~3–5 min | Integración web ligera para herramientas de operaciones. | SDK tipado | Completo | |
| Alrededor de 5 min | Aplicación nativa de Android para conductores y equipos de sitio. | SDK tipado | Completo | |
| Menos de 5 minutos | Aplicación nativa de iOS para supervisores y personal de campo. | SDK tipado | Completo | |
| ~3–7 min | Interfaz web React para control de rutas. | SDK tipeado | Completo | |
| Configuración rápida (5 min) | Aplicación web empresarial para centros de operaciones. | SDK tipeado | Completo | |
| Menos de 2 min | API GraphQL flexible para horarios e inventario. | API GraphQL | Completo | |
| Configuración rápida (2 min) | Integración de REST API para sistemas de despacho. | REST API | Completo | |
| ~3 min | Backend de PHP del lado del servidor para portales de operaciones. | REST API | Completo | |
| ~3–7 min | Backend de .NET para flotas y flujos de trabajo de cumplimiento. | SDK tipado | Completo |
El tiempo de configuración refleja la duración esperada desde el inicio del proyecto hasta el primer horario de recogida o consulta de contenedor utilizando este esquema de plantilla.
Preguntas frecuentes sobre operaciones
Preguntas comunes sobre la construcción de un backend de gestión de residuos con esta plantilla.
¿Listo para crear tu aplicación de gestión de residuos?
Inicia tu proyecto de gestión de residuos en minutos. No se requiere tarjeta de crédito.