This is a desktop-based Cafeteria Order Automation System developed as part of our academic course (CSE 2100). The system is designed to streamline the food ordering process for university students and staff. It provides a user-friendly graphical interface to browse the menu, place orders, and make secure simulated payments, completely replacing manual paper-based token systems.
- Interactive UI: Intuitive dashboard for users built with JavaFX and FXML (
BorderPanelayout). - Dynamic Menu: Browse items categorized by Breakfast, Lunch, Fast Food, and Beverages.
- Real-time Cart Management: Automatically calculates quantities, sub-totals, and grand totals.
- Serverless Data Storage: Utilizes local XML files (
menu.xml,orders.xml) for lightweight, fast, and structured data persistence without needing an external RDBMS. - Integrated Payment Gateway: Simulates real-world digital transactions using the SSLCommerz Sandbox API, providing both Online and Offline payment handling.
- Core Logic: Java
- Frontend / GUI: JavaFX, FXML, CSS (Custom styling)
- Database / Storage: XML (Extensible Markup Language)
- Payment Integration: SSLCommerz API (Sandbox)
- Prerequisites: Ensure you have the Java Development Kit (JDK) and JavaFX SDK installed on your system.
- Clone the Repository:
git clone [https://github.com/preetom03/Cafeteria-Project.git](https://github.com/preetom03/Cafeteria-Project.git)
- Open the Project: Import the project into your preferred IDE (e.g., IntelliJ IDEA, Eclipse).
- Run the App: Execute the
Main.javafile (or the class containing yourstart()method) to launch the application. - Payment Testing: Select the "Online" payment option at checkout to see the SSLCommerz dummy gateway in action.
This project was collaboratively developed by our team:
- Shahi Raja Lashkor (2303057): API Integration Lead & Technical Writer (SSLCommerz Integration, Project Documentation).
- Preetom Barmon (2303025): Project Lead / Backend Developer (Core logic, XML integration).
- Md. Sarour Jahan (2303003): UI/UX Designer (JavaFX GUI, FXML layout).