Qoorder: como construimos una plataforma de pedidos para hosteleria local
Que es Qoorder
Qoorder es una plataforma propia de Moicro para que los negocios de hosteleria local tengan su propio sistema de pedidos online. No Glovo, no Just Eat — una plataforma que el negocio controla, con su marca, sus precios y sin comisiones de terceros.
La plataforma tiene tres partes:
1. App para clientes — navegan establecimientos, hacen pedidos, pagan y siguen el estado
2. Qoorder ERA (app para negocios) — el negocio gestiona pedidos, clientes, repartidores y configuracion
3. Web corporativa — presentacion publica de la plataforma
Por dentro: numeros reales
Solo la app de negocio (Qoorder ERA) tiene:
- 218 vistas en XAML
- 97 ViewModels
- 111 modelos de datos
- 35 endpoints solo para el dashboard
- Tres roles: Administrador, Establecimiento y Repartidor
No es un proyecto pequeno.
El stack
Apps moviles (iOS + Android)
Ambas apps usan .NET MAUI. La decision fue clara: compartir modelos, servicios y logica de negocio entre las dos apps. Cuando el modelo de un pedido cambia, cambia en un solo sitio.
Qoorder (cliente) → iOS, Android
Qoorder ERA (negocio) → iOS, Android
Ambas comparten → Modelos, servicios, constantes
Backend
PHP con arquitectura REST. No usamos un framework completo — estructuramos una API limpia con controladores, middlewares y un sistema de autenticacion JWT propio. La base de datos es MySQL.
La razon de PHP: facilidad de despliegue en hosting compartido, que es donde viven muchos de estos negocios locales. No necesitan un servidor Node.js ni un contenedor Docker.
Las integraciones
OneSignal para notificaciones push. El cliente recibe una notificacion cuando su pedido esta en camino. El negocio recibe un aviso cuando entra un pedido nuevo.
PayComet para pagos con tarjeta. Integracion completa con tokenizacion de tarjetas para que el cliente no tenga que introducir datos cada vez.
WhatsApp como canal de comunicacion entre cliente y negocio para incidencias.
Maps para visualizar la ruta del repartidor en tiempo real.
El wallet (monedero)
Una de las funcionalidades mas interesantes. Los clientes pueden recargar saldo en su monedero y usarlo para pagar pedidos. El negocio configura bonificaciones: "recarga 20€ y te regalamos 2€".
El flujo de recarga es presencial: el cliente solicita la recarga desde la app, un repartidor va a cobrar el efectivo y confirma la recarga. Funciona en entornos donde el pago con tarjeta no siempre es la opcion preferida.
Los dashboards
Implementamos dos dashboards completos: uno para el establecimiento y otro para el administrador de la plataforma.
El dashboard del establecimiento muestra ventas del dia, pedidos en curso, productos mas vendidos y comparativa semanal. Todo en tiempo real, sin recargar la pagina.
El del administrador agrega datos de todos los establecimientos: volumen de pedidos, ingresos totales, tasa de conversion, repartidores activos y alertas del sistema.
Lo que aprendimos
MVVM a esta escala requiere disciplina. Con 97 ViewModels es facil que la logica de negocio se cuele en la capa de presentacion. Definimos interfaces claras desde el inicio y eso nos salvo tiempo en las iteraciones.
La sincronizacion entre apps es el punto critico. Cuando el cliente confirma un pedido, ERA tiene que actualizarse inmediatamente. El mecanismo de polling con backoff exponencial funciona mejor de lo que esperabamos para este tipo de negocio.
El hosting compartido tiene limites. A partir de cierto volumen de pedidos simultaneos, PHP en hosting compartido empieza a mostrar latencia. Tenemos en el roadmap la migracion a un VPS propio.
---
¿Quieres una plataforma de pedidos para tu negocio o tu municipio? Hablemos. Contactanos.
Te ha resultado util?
Si necesitas ayuda con tu proyecto web o app, estamos a un mensaje de distancia.
Contactar con Moicro