Skip to main content

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.

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.

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

1

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.
2

Configure Firebase

Create a Firebase project, enable Realtime Database and Authentication, then place google-services.json in the app/ directory.
3

Set your API key

Add your Firebase API key to local.properties so the build can inject it at compile time.
4

Run the app

Select a build variant (debug, staging, or release) and press Run. Log in with a test user assigned to one of the three roles.
See the Quickstart for the full step-by-step setup guide, including backend and Terraform configuration.

Build docs developers (and LLMs) love