Skip to content

SlimKreisel/FoodKiosk-Application-Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍔 Fast Food Kiosk – Java Swing & Multithreading

A self-ordering kiosk application built in Java Swing, simulating a restaurant workflow with Waiter and Chef threads.
Customers place food orders through a graphical interface while background threads handle preparation and serving, demonstrating multithreading and thread synchronization in Java.


🚀 Features

  • 🖥️ Interactive GUI (Java Swing):

    • Home screen with welcome message.
    • Menu screen with food item images and colorful buttons.
    • Real-time order status updates.
  • 👨‍🍳 Multithreading Simulation:

    • Waiter thread takes orders and passes them to the Chef thread.
    • Chef prepares items with simulated delays (Thread.sleep).
    • Waiter serves items once notified by the Chef.
  • 🔄 Thread Synchronization:

    • Uses synchronized, wait(), and notify() to coordinate waiter–chef communication.
    • Prevents race conditions and ensures correct order flow.
  • 🍽️ Order & Table Management:

    • Orders are tied to table numbers.
    • Table number automatically increments after a meal is fully served.

🛠️ Tech Stack

  • Java (OOP, Threads, Swing GUI)
  • Concurrency: Thread, synchronized, wait(), notify()
  • GUI Components: JFrame, JPanel, JButton, JList, JLabel, JTextArea

🎯 Learning Outcomes

  • Gained hands-on experience with Java multithreading (Thread, synchronized, wait(), notify()).
  • Practiced Java Swing GUI design with interactive components and images.
  • Strengthened understanding of thread synchronization in real-world simulations.
  • Improved Object-Oriented Programming skills by structuring code into Restaurant, Waiter, Chef, and Order classes.

About

A self-ordering kiosk system built in Java Swing, simulating a restaurant workflow with a Waiter–Chef model using multithreading. The application allows customers to place food orders through a graphical interface while the backend handles preparation and serving using synchronized threads.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages