A Java Desktop Application for managing online food ordering, payment processing, and delivery operations with secure role-based access and MySQL database integration.
The Online Food Delivery System is a desktop-based application developed using Java Swing and MySQL. It simulates the workflow of an online food ordering platform by providing dedicated modules for Customers, Owners, and Delivery Personnel.
The system enables customers to browse food items, place orders, and make payments. Restaurant owners can manage menus, monitor orders, and track payments, while delivery personnel update delivery status to ensure smooth order fulfillment.
The project demonstrates practical implementation of Java Object-Oriented Programming, JDBC connectivity, GUI development, authentication, CRUD operations, and database management.
- Secure Login & Registration
- Browse Food Menu
- Place Orders
- Select Payment Mode
- View Order Details
- Track Order Status
- Admin Authentication
- Add Food Items
- Update Menu
- Remove Food Items
- Manage Orders
- Track Customer Payments
- Assign Delivery Personnel
- Secure Login
- View Assigned Orders
- Update Delivery Status
- Track Delivery Progress
- Payment Status Tracking
- Order Payment Records
- Integrated with Order Management
- MySQL Database Integration
- Persistent Data Storage
- JDBC Connectivity
| Login | Owner Dashboard |
|---|---|
![]() |
![]() |
| Customer Panel | Delivery Panel |
|---|---|
![]() |
![]() |
- About
- Features
- Tech Stack
- System Modules
- Project Architecture
- Database Schema
- Folder Structure
- Installation
- Database Setup
- Usage
- Future Enhancements
- Contributing
- License
- Author
| Technology | Purpose |
|---|---|
| Java | Application Development |
| Java Swing | Graphical User Interface |
| JDBC | Database Connectivity |
| MySQL | Database |
| JCalendar | Date Picker |
| VS Code / Eclipse | Development Environment |
- Register Account
- Login
- Browse Menu
- Place Food Orders
- Make Payments
- Track Orders
- Login as Administrator
- Manage Food Menu
- View Orders
- Track Payments
- Assign Delivery Personnel
- Login
- View Assigned Deliveries
- Update Delivery Status
- Complete Orders
User
β
ββββββββββββββββΌβββββββββββββββ
β β β
Customer Owner(Admin) Delivery Person
β β β
ββββββββββββββββΌβββββββββββββββ
β
Java Swing GUI
β
Business Logic
β
JDBC Driver
β
MySQL Database
The project uses MySQL as the backend database.
| Table | Description |
|---|---|
| signup | Customer Personal Information |
| signupTwo | Customer Additional Details |
| signupThree | Customer Login Credentials |
| login | User Authentication |
| admin | Administrator Credentials |
| foodMenu | Food Menu Items |
| delivery_person | Delivery Personnel |
| orders | Customer Orders |
The complete SQL script is available inside:
database/
βββ online_food_delivery_system.sql
OnlineFoodDeliverySystem
β
βββ assets
β βββ banner
β βββ screenshots
β
βββ database
β βββ online_food_delivery_system.sql
β
βββ lib
β βββ mysql-connector-java-8.0.28.jar
β βββ jcalendar-tz-1.3.3-4.jar
β
βββ src
β βββ FoodApp.java
β βββ LoginWindow.java
β βββ Menu.java
β βββ ownerInterface.java
β βββ DeliveryPersonPanel.java
β βββ AddDeliveryPerson.java
β βββ Conn.java
β βββ signupOne.java
β βββ signupTwo.java
β βββ signupThree.java
β
βββ README.md
βββ LICENSE
βββ .gitignore
git clone https://github.com/TanmayT134/OnlineFoodDeliverySystem.gitcd OnlineFoodDeliverySystemOpen the project in your preferred Java IDE such as:
- Eclipse
- IntelliJ IDEA
- VS Code
- Install MySQL.
- Create a database named:
onlinefooddeliverysystem- Import the SQL script located in:
database/online_food_delivery_system.sql
- Update your MySQL username and password in:
src/Conn.java
- Run the project.
- Register a customer account.
- Login as Customer to browse food and place orders.
- Login as Admin to manage menus and orders.
- Add delivery personnel.
- Assign deliveries.
- Track delivery status.
- Online Payment Gateway Integration
- Email Notifications
- SMS Notifications
- Customer Reviews & Ratings
- Order History
- Search & Filter Menu
- Coupon & Discount System
- Live Order Tracking
- Mobile Application
- REST API Backend
- Cloud Database Integration
Contributions are welcome.
- Fork the repository.
- Create a feature branch.
- Commit your changes.
- Push the branch.
- Open a Pull Request.
Tanmay Tawade
If you found this project helpful, consider giving it a β on GitHub.




