Building SRM Canteen Management System
Streamlining Student Orders and Staff Operations
Project Overview
This Java desktop application project was developed to address the operational challenges faced by university canteens, specifically focusing on improving the ordering experience for students and streamlining operations for staff.
The system consists of two interconnected applications: a Customer App for students to place orders and a Staff App for canteen personnel to manage and fulfill those orders efficiently.
Identifying the Core Problem
University canteens face significant challenges that impact student experience and operational efficiency:
Long Queues & Delays
Manual ordering processes lead to significant bottlenecks during peak hours, causing student dissatisfaction and wasted time.
Frequent Order Errors
Verbal and written orders are prone to mistakes in transcription, leading to incorrect items and financial losses.
Inefficient Staff Management
Staff struggle to track, prioritize, and manage high volume of diverse orders without a centralized system.
Our Digital Solution: Dual-App Ecosystem
We developed a comprehensive software suite consisting of two distinct, interconnected Java desktop applications:
Customer App
User-friendly client for students to browse menu and place orders
Staff App
Centralized interface for canteen staff to manage orders
MySQL Database
Central data store accessed via JDBC for real-time synchronization
System Architecture Flow
1. Data Flow: Customer App writes new orders to database
2. Instant Read: Staff App reads order data instantly via refresh function
3. JDBC Bridge: Secure data operations between apps and database
Customer Application: SRMCanteenSystem
This application focuses on intuitive user experience to make ordering quick and enjoyable:
Core Features
- Secure Authentication with login/registration
- Digital Categorized Menu with images
- Dynamic Shopping Cart management
- Order History tracking
Technology Stack
- Java Swing components
- JTabbedPane for menu navigation
- Java Lists and Maps for cart management
- JDBC for database communication
Staff Application: OrderViewer
Designed for speed, clarity, and effective management of high-volume operations:
Operational Excellence
- Master Order View in JTable
- Detailed Item Breakdowns with JSplitPane
- Automatic Total Price Calculation
- Live Data Sync with Refresh button
Technical Implementation
- DefaultTableModel for order management
- Efficient SQL JOIN queries
- Non-editable cells for data integrity
- Real-time database synchronization
Database Design & Data Integrity
The relational database structure ensures reliable linkage between user actions and staff fulfillment:
| Table | Key Fields | Role in System |
|---|---|---|
| orders | Order ID (PK), User ID (FK), Total Price, Status, Timestamp | Tracks main transaction and fulfillment status |
| order_items | Order ID (FK), Item ID (FK), Quantity, Subtotal | Details individual components of each order |
| menu_items | Item ID (PK), Name, Price, Category | Master list of all available food items |
Data Integrity Focus: Customer App only writes new data, while Staff App only reads data, preventing accidental corruption of active orders.
Addressing Technical Challenges
Developing a dual-interface system required strategic solutions to common concurrency and design issues:
Real-time Data Sync
Ensuring the Staff App always displays the latest orders without constant server polling.
Solution
Shared MySQL instance as single source of truth with dedicated "Refresh" feature in Staff App.
Complex UI Design
Creating structured, navigable layouts for both menu and order management interfaces.
Solution
Advanced Swing components: JTabbedPane for menu categories and JSplitPane for order list/detail view.
Future Scope & Enhancements
While the current system provides a strong foundation, several enhancements could further improve functionality:
Online Payment Integration
Allow digital payments through integrated APIs
Push Notifications
Real-time status updates for order readiness
Admin Panel & Analytics
Menu management and sales reporting interface
Conclusion
We successfully developed a functional, robust, and reliable two-part canteen management system using Java Swing and MySQL. This suite eliminates manual bottlenecks, enhances order accuracy, and improves efficiency for the SRM campus community.
The system proves the viability of using established Java desktop technologies for modern enterprise solutions, providing a scalable foundation for future enhancements and adaptations.