Case Study

Canteen & Cafeteria Management

Mobile app · Flutter · Firebase

Canteen & Cafeteria Management App

Timeline

Aug 2024 – Oct 2024

Tech Stack

FlutterDartFirebase FirestoreFirebase AuthCloud Functions

Overview

The Canteen & Cafeteria Management app streamlines how students and staff interact with the campus canteen. Instead of standing in long queues or filling out manual slips, users can browse the daily menu, place orders, track preparation status and view order history directly from their phones. The backend is powered by Firebase, allowing real-time updates for both customers and the kitchen staff.

Key Features

  • Daily and weekly menu browsing with item categories and prices.
  • Real-time ordering system with order status (Pending, In progress, Ready).
  • Role-based views for students, staff, and kitchen/admins.
  • Order history and quick re-order for frequently purchased items.
  • Configurable canteen timings and automatic "closed" state.

Technical Highlights

  • Implemented Firestore real-time listeners so that order status updates instantly on user devices and kitchen dashboard.
  • Designed a structured Firestore schema for menus, orders, and user roles to keep reads/writes efficient.
  • Used Firebase Cloud Functions to automatically update statistics such as daily sales and item popularity.
  • Implemented basic form validation and error handling for unreliable network conditions.

Challenges & Solutions

Handling Peak-Time Concurrency

During peak hours, many users might place orders at the same time, which could lead to inconsistent stock counts or duplicate orders.

Solution: Used Firestore transactions and batched writes for critical operations (like decrementing stock and creating an order), ensuring atomic updates even when multiple requests hit simultaneously.

Keeping the Kitchen View in Sync

Kitchen staff needed a live view of incoming orders without constantly refreshing or missing updates during busy windows.

Solution: Implemented Firestore real-time listeners in the kitchen panel and added filters (Pending, In Progress, Ready) so new orders and status changes appear instantly.