La Previa Restobar is an Android application that connects waiters, chefs, and administrators in a single, real-time workflow. Orders placed at the table are immediately visible in the kitchen, inventory is deducted automatically, and everything works even when the network drops — syncing back up the moment connectivity returns.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/luisumit/LaPreviaRestobar/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Clone the repo, configure Firebase, and run the app on your device or emulator in minutes.
Architecture
Understand the Clean Architecture layers, offline-first data flow, and how Firebase and Room interact.
User Roles
Explore the three role-based dashboards: Waiter, Chef, and Admin — each with its own navigation graph.
REST API
Reference for the Express.js backend — endpoints for products, orders, tables, and inventory.
What’s Inside
La Previa Restobar is composed of three tightly integrated parts:Android App
Kotlin + Jetpack Compose with MVVM, Hilt DI, Room local DB, and Firebase Realtime Database.
Express Backend
Node.js REST API that bridges the Android app to Firebase, deployable to Google Cloud Run.
Public Menu
A Firebase-hosted web page that shows the live product catalog to customers via QR code.
Key Features
Real-Time Order Tracking
Orders move through PENDING → EN_PREPARACION → LISTO → ENTREGADO with live status updates across all devices.
Offline-First Sync
WorkManager queues changes locally in Room and replays them to Firebase when connectivity is restored.
Inventory Control
Stock is deducted automatically when orders are confirmed. Low-stock notifications alert the admin.
Table Management
Track table state (LIBRE, OCUPADA, RESERVADA) and link each table to its active order.
Getting Started
Clone and open in Android Studio
Clone the repository and open it in Android Studio Jellyfish or later. The project uses Gradle with a version catalog at
gradle/libs.versions.toml.Configure Firebase
Create a Firebase project, enable Realtime Database and Authentication, then place
google-services.json in the app/ directory.Set your API key
Add your Firebase API key to
local.properties so the build can inject it at compile time.See the Quickstart for the full step-by-step setup guide, including backend and Terraform configuration.