Descripcion del Proyecto
RoisFood es una plataforma SaaS que permite a restaurantes gestionar pedidos, delivery con mensajeros propios, mesas y cocina desde un solo lugar. Incluye dashboard web para administradores, app movil para clientes, meseros y repartidores, todo conectado en tiempo real via WebSockets.
Caracteristicas Principales
- Gestion de pedidos: Creacion, seguimiento y actualizacion de estado en tiempo real
- Delivery con tracking: Asignacion de repartidores, seguimiento GPS con Mapbox y prueba de entrega con foto
- App para meseros: Vista kanban de pedidos, gestion de mesas y ordenes en sala
- App para repartidores: Rutas optimizadas, contabilidad de entregas y tracking en vivo
- Menu configurable: Items con modificadores, combos, ingredientes y precios dinamicos
- Dashboard administrativo: Analiticas, reportes exportables a Excel, gestion de staff
- Chat en tiempo real: Comunicacion entre staff y clientes
- Impresion de tickets: Integracion con impresoras de red via PrintNode
- Multi-tenant: Cada restaurante es una organizacion independiente con su configuracion
Tecnologias Utilizadas
- Next.js 15: Dashboard web con React 19 y Server Components
- React Native + Expo: App movil para clientes, meseros y repartidores
- Bun: Runtime del backend, significativamente mas rapido que Node.js
- tRPC: API type-safe end-to-end entre frontend y backend
- PostgreSQL 16 + Drizzle ORM: Base de datos relacional con migraciones automaticas
- Redis: Cache y escalado de WebSockets entre instancias
- Clerk: Autenticacion multi-tenant con webhooks
- Mapbox GL: Mapas, rutas y calculo de ETAs para delivery
- Docker Compose + Caddy: Orquestacion de servicios con HTTPS automatico
- Turborepo: Monorepo con workspaces de Bun
Arquitectura
Monorepo con Turborepo que contiene tres aplicaciones:
- Web (Next.js): Dashboard administrativo con Radix UI y TanStack Table
- Mobile (Expo): App multi-rol (cliente, mesero, repartidor) con Expo Router
- API (Bun + tRPC): Backend con arquitectura por capas (Domain -> Use Cases -> Services -> Infrastructure)
Infraestructura
- AWS EC2 con Docker Compose
- Caddy como reverse proxy con SSL automatico y rate limiting por endpoint
- CI/CD con deploy basado en git, migraciones automaticas y health checks con rollback
- Limites de recursos por contenedor para optimizar costos en una sola instancia