Visión general
RestoChain es un proyecto propio para restaurantes. Conecta el trabajo de venta y atención en mesas con el inventario y los centros de producción, para que un pedido registrado en el punto de venta llegue a los monitores correspondientes.
El problema
Las comandas físicas separan la toma de pedidos de su preparación y del seguimiento en sala. El objetivo es reunir ese recorrido en una aplicación que también permita administrar el menú, los puntos de servicio y el personal de cada sucursal.
Funcionalidades implementadas
- Inventario: registro de entradas y salidas.
- Menú: alta y gestión de productos con recetas y modificadores. Cada producto puede asignarse a un punto de servicio y retirarse de su oferta cuando no esté disponible o se agote.
- Personal: registro de empleados, permisos, puesto, rol en la sucursal y asistencias.
- Puntos de servicio: creación y configuración de los puntos desde los que se trabaja.
- Punto de venta: al ingresar se accede al punto de servicio asignado y a sus mesas, con estados libre, ocupada, sucia y pendiente.
- Pedidos: registro de la comanda de una mesa y envío a cocina, con distribución a los monitores configurados.
- Cobro: pago de cuentas e impresión de tickets.
- Subcuentas: creación de subcuentas dentro del flujo de venta.
- Tiempo real: pedidos y notificaciones de preparación mediante WebSockets.
Recorrido de una venta
- El personal entra al punto de venta y accede a su punto de servicio.
- Consulta el estado de las mesas y abre una para tomar el pedido.
- Registra la comanda; la mesa pasa al estado pendiente y el pedido se envía a producción.
- Los productos se distribuyen a los monitores establecidos. Las notificaciones de WebSockets avisan cuando el pedido está listo.
- Se gestiona el pago y se imprime el ticket; el flujo permite crear subcuentas.
Estado actual
El proyecto sigue en desarrollo. El monitor de producción tiene una implementación avanzada y necesita mejoras de interfaz. La impresión de tickets funciona; su diseño también está pendiente de mejora. No se presenta disponibilidad comercial ni una demostración pública.
Capturas del proyecto
Pantallas de acceso, punto de venta y gestión de personal. Los datos visibles son ficticios de pruebas.
Acceso a la aplicación

Punto de venta

Gestión de personal

Detalle técnico
Aplicación y API
La aplicación multiplataforma utiliza Flutter y BLoC. Consume una API desarrollada con Python, FastAPI y SQLAlchemy sobre PostgreSQL. El stack del proyecto incluye autenticación JWT, Redis y Docker.
Coordinación en tiempo real
WebSockets permite comunicar los cambios del pedido y avisar sobre su preparación. El flujo conecta la toma del pedido en el POS con su distribución a los monitores de los centros de producción.
Organización operativa
Los productos del menú se relacionan con recetas, modificadores y puntos de servicio. Los empleados tienen un puesto, permisos y un rol dentro de la sucursal. La venta se organiza por mesas y sus estados, con cobros y subcuentas.
Evidencia y límites
El código se mantiene en repositorios privados. Este caso describe las funcionalidades confirmadas del proyecto sin publicar configuraciones internas, datos de empleados o clientes, credenciales ni enlaces privados. No se presentan métricas de uso, rendimiento o resultados de pruebas que no cuenten con una revisión publicable.