Skip to content

abdonaware/Producer-Consumer-Simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Producer Consumer

Producer Consumer is a fullstack web application that applying Producer-Consumer Design Pattern with Threads. The Application consists of Machines and Queues that the user can build any system he wants and run to see the simulation of the process over time.

1734636805090

This is Our Fifth Assignment in Design Patterns Course (CSED27 Alexandria University)

Technologies Used

  • Frontend: React , Konva
  • Backend: Spring Boot
  • Real-Time Communication: WebSocket

Design Patterns Used

  1. Singleton Pattern: The Singleton pattern prevents the existence of multiple objects in memory of objects that must only be created once in the system like projectRepository
  2. Observer Pattern: The Observer pattern allows queues to automatically be notified when a machine’s state changes, ensuring real-time updates without direct interaction.
  3. Concurrency Pattern: The Concurrency pattern ensures that multiple machines can process tasks simultaneously without causing data inconsistencies. It enhances the system’s efficiency by allowing parallel task execution.
  4. SnapShot Pattern: The Snapshot pattern saves the system’s state at a start point, allowing it to be restored on restart.

UML

UML Diagram: UMLDesign

Demo.mp4

Project Report

For more detalied information check Project Report

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •