SnapFood is a simple food ordering system built in Java. It allows clients and customers to interact with items, manage invoices, and simulate core operations of a digital food service backend.
Food/
├── pom.xml # Maven project descriptor
├── src/
│ └── main/java/com/mycompany/Food/
│ ├── Client.java
│ ├── Customer.java
│ ├── HELP.java
│ ├── Invoice.java
│ ├── InvoiceLine.java
│ ├── Item.java
│ └── MainClass.java
└── target/ # Compiled classes and Maven output
- Java JDK 11+
- Apache Maven
cd Food
mvn clean compilemvn exec:java -Dexec.mainClass="com.mycompany.Food.MainClass"You may need to add the Maven Exec Plugin to your
pom.xmlif not already included.
- Customer: Search and view items, manage profile and address, and place orders.
- Client: Manage item inventory, user data, and assist customers.
START
│
├── Customer
│ ├── Verify password
│ │ ├── Incorrect password → retry
│ │ └── Correct password
│ ├── View profile
│ ├── Search items
│ ├── Get help
│ ├── View & Add item to bill
│ │ ├── If not enough → warn
│ │ └── If enough → add item
│ ├── Add new address
│ ├── See invoice
│ └── Exit
│
├── Client
│ ├── Verify password
│ │ ├── Incorrect password → retry
│ │ └── Correct password
│ ├── Add item’s quantity
│ ├── View available items
│ ├── Search items
│ ├── Get help
│ ├── View users
│ ├── View profile
│ └── Exit