El núcleo, resuelto
Pedidos con máquina de estados en base de datos, idempotencia, pagos con captura al entregar y aislamiento entre marcas a nivel de PostgreSQL.
Código fuente y documentación · multi-tenant
Código fuente y documentación de una plataforma de delivery lista para adaptar a tu marca: backend, panel de administración y app de cliente para Android. Para operadores, franquicias y emprendedores que quieren lanzar su propio servicio.
«Aurea» es el nombre de trabajo de la demostración. La marca no forma parte de la venta: tú pones la tuya.

La oportunidad
Construir desde cero el backend, el aislamiento entre marcas, los pagos, una carta con alérgenos, un panel y una app móvil es un proyecto largo. Esta plataforma te entrega ese núcleo ya hecho y probado, para que dediques tu esfuerzo a lo que sí es tuyo: tu marca, tus restaurantes y tu operación.
Pedidos con máquina de estados en base de datos, idempotencia, pagos con captura al entregar y aislamiento entre marcas a nivel de PostgreSQL.
Cada tenant configura su marca, idiomas, moneda, impuestos y modelo de flota sin tocar código. El tenant de demostración es solo un ejemplo.
Cada pieza viene con su estado verificado y sus huecos documentados. Lo que no existe está dicho, y más abajo.
Qué incluye
Un monorepo con todo lo necesario para arrancar en local en unos 30 minutos y seguir desarrollando.
NestJS, PostgreSQL con PostGIS y un worker con outbox. Login OIDC por tenant, con doble factor obligatorio para el personal.
43 operaciones OpenAPIResumen, pedidos, locales y cartas con alérgenos, editor de marca con contraste WCAG en vivo, ajustes y módulos.
Next.jsLogin, restaurantes, carta con alérgenos, carrito, dirección, checkout y seguimiento de pedidos, en español e inglés.
Kotlin · ComposePaymentIntent con captura manual al entregar y sincronización del pago por si el webhook se retrasa. Probado con un doble del SDK; no con Stripe real. Stripe Connect está en el diseño, no implementado.
Modo de pruebaMarca, dominios, moneda, impuestos, zonas, módulos y modelo de flota (plantilla o flota independiente) como datos. Dos tenants de demostración incluidos.
RLS en PostgreSQLTests de la API validados contra el contrato, oasdiff contra cambios incompatibles, gitleaks, OSV y política de licencias en cada cambio.
GitHub ActionsSesión, catálogo, carrito, checkout, pago y pedidos portados de Android, probados en Linux contra respuestas reales de la API. Sin pantallas.
68 testsGuía del comprador, de despliegue, de publicación en Google Play y en App Store (escritas, no ejecutadas) y de Stripe en modo de prueba.
En españolQué es cada cosa y hasta dónde llega está en la sección «Alcance». Lo que figura aquí funciona con datos de demostración.
La app en acción
Capturas de un recorrido real grabado en un emulador de Android, con el tenant de demostración y un proveedor de pago simulado. Desplázate y la pantalla cambia.

Login y registro contra el proveedor de identidad de cada marca (OIDC). En la demo, contra el IdP de desarrollo.

Lista con el estado «abierto» o «cerrado» escrito en texto, nunca solo con color.

Categorías y platos, con el alérgeno en palabras y un aviso fijo de que la declaración es del restaurante.

Tamaños y extras con mínimos y máximos. «Contiene» y «Puede contener» a la vista antes de añadir.

Un solo restaurante a la vez, notas por plato y subtotal. Cambiar de restaurante pide confirmar el vaciado.

Totales calculados por la API. Antes de pagar se reconcilian precio, alérgenos y platos retirados.

En la demo, un proveedor de pago simulado. Stripe PaymentSheet está integrado, sin probar con tarjeta real.
Un recorrido por la app de cliente: acceso, restaurantes, carta con alérgenos, personalización del plato, carrito, total y pago simulado.
Vídeo promocional con la app grabada en un emulador de Android, con datos ficticios y pago simulado. No es un teléfono real. Se carga solo al reproducirlo. (1,6 MB)
Diferenciador
Los alérgenos no son un campo opcional: son parte del modelo de datos y de la interfaz.
La plataforma no afirma cumplir ninguna normativa. Permite configurar estas decisiones; validarlas con tus asesores en cada país donde operes es responsabilidad del operador.
Tomate San Marzano, fior di latte y albahaca
Contiene: cereales con gluten, leche
Puede contener: mostaza
La información de alérgenos la declara el restaurante. Si tienes una alergia grave, consúltalo antes de pedir.
Arquitectura y calidad
Un monolito modular con aislamiento entre marcas en la propia base de datos y una cadena de comprobaciones en cada cambio.
Transparencia
Lo decimos antes de que lo preguntes. Esto es lo que no hay y lo que no se ha probado.
La lista completa y detallada está en la documentación que recibes (resumen para el operador y huecos conocidos).
Hoja de ruta y desarrollo adicional
Estas fases están pendientes. No forman parte de la venta; pueden completarse como desarrollo adicional bajo acuerdo, con presupuesto aparte.
La lógica ya está hecha y probada (68 tests). Falta la interfaz y compilar y probar en Xcode.
Lógica hecha · interfaz pendienteApp de restaurante (Partner), con recepción de pedidos en tiempo real.
PendienteApp de repartidor (Rider), con asignación de pedidos y seguimiento, para los dos modelos de flota.
PendienteUbicación en tiempo real, push, correo y SMS.
PendientePanel de administración completo y finanzas.
PendienteSeguridad, pruebas de carga, accesibilidad, observabilidad y una demo completa.
PendienteSin fechas ni precios aquí: se acuerdan caso por caso. Nada de esta sección está incluido en la venta.
Consultar desarrollo adicionalLa transferencia
Los términos concretos se cierran en el contrato de venta: titularidad y cesión del código (incluido el generado con herramientas de IA) y las licencias de terceros. Después, el camino documentado es este:
Preguntas frecuentes
No. No hay usuarios, pedidos reales ni ingresos. Todo se ha probado con datos de demostración. Es la base para que tú lances el servicio.
No. Necesitas infraestructura, cuentas de Stripe, Apple, Google y de identidad, textos legales y probar las apps con tus cuentas. La guía del comprador lista los pasos.
La lógica de iOS está hecha y probada en Linux (68 tests), pero no hay pantallas SwiftUI ni se ha compilado con Xcode. Completarlo es desarrollo adicional.
No. «Aurea» es el nombre de trabajo de la demostración y no forma parte de la venta. Recibes el código fuente y la documentación; tú eliges, compruebas y registras tu propia marca.
La marca de cada tenant (colores, nombre, tipografías) se edita en el panel, con contraste WCAG comprobado. La app de Android todavía no lee esa marca: sus colores, nombre e icono se cambian a mano en el código.
La plataforma no afirma cumplir ninguna normativa. Permite configurar las decisiones, y el operador debe validarlas con sus asesores. En España y la UE, el modelo de flota independiente tiene un riesgo alto de recalificación laboral y exige un dictamen previo.
NestJS, PostgreSQL con PostGIS, Next.js, Kotlin con Jetpack Compose, Swift para la lógica de iOS y OpenAPI 3.1. Todo con licencias permisivas controladas en CI.
Sí, como desarrollo adicional bajo acuerdo y con presupuesto aparte: iOS, apps de restaurante y repartidor, seguimiento en vivo, finanzas y endurecimiento.
Contacto
Cuéntanos quién eres y qué buscas. Te respondemos con el alcance exacto y los siguientes pasos. Sin compromiso.
También por teléfono o WhatsApp: +34 614 622 559