Skip to content

bragabriel/pizza-state-machine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍕 Java Pizza State Machine Series

This is a practical project that demonstrates how to implement a State Machine using Java.

The example simulates a pizza order flow, going through states like ORDER_RECEIVED, PREPARING, ASSEMBLING, and BAKING, until reaching READY or being CANCELLED.

🗺️ State Machine Diagrams

Flow Diagram

state-machine.png

States and Events

events-and-states.png

This project is divided into three modules:

  1. raw-statemachine: Manual implementation, no frameworks.
  2. fw-statemachine: Implementation using Spring StateMachine-Framework.

📌 Check the README.md of each module for more details.


🎥 YouTube Series

This project is part of a video series on my YouTube channel, aiming to:

  • Teach the concept of state machines
  • Show how to implement them manually
  • Demonstrate how Spring can help simplify the setup and transitions

📺 Watch the episodes:

  1. What is a State Machine?

  2. Implementing a State-Machine manually in Java (No Frameworks)

  3. This Spring Framework Is RARELY Used – And EXTREMELY Powerful | Spring State Machine in Practice!


👨‍💻 About the Author

I'm Gabriel, a backend developer passionate about bringing ideas to life through code! Also a big fan of coffee ☕ and a good TV series 🎬.

🔗 Connect with me: LinkedIn, Twitter | 📺 Subscribe: YouTube Channel

➡️ If this project or the series helped you in any way, consider ⭐️ starring the repo and subscribing to the channel!

You can also:

  • 🍕 Share it with other devs who want to learn about state machines
  • 💬 Drop your feedback or suggestions — I'm always open to new ideas
  • 📢 Tag me on LinkedIn if you implement your own version — I’d love to see it

About

Practical project that demonstrates how to implement a State Machine

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages