This project is a queue management system simulator developed using the SFML library. The system allows users to define queues, stations, and manage the flow of customers through the system. The simulator provides a graphical interface with windows for each station, a ticket printing kiosk, and a centralized screen displaying the status of all queues and stations.
-
Queue Creation: Users can specify the number of queues needed and assign a topic and signature (single letter) to each queue.
-
Station Setup: Users can define the number of stations and associate specific queues with each station.
-
Graphical Interface: The system generates windows for each station, a ticket printing kiosk, and a centralized screen displaying the current status of all queues and stations.
-
Ticket Handling: Stations have buttons for calling a ticket (green) and confirming the customer's presence (blue). The ticket on display alternates between being illuminated and blinking until confirmation.
-
Requirements: Ensure you have SFML installed. You can download it here.
-
Clone the repository:
git clone https://github.com/smichajlidis/queuing-system.git cd queuing-system
-
Build using CMake:
mkdir build cd build cmake ..
-
Compile the project:
make
-
Run the simulator:
./queuing-system
-
Queue Creation:
- Enter the number of queues needed.
- For each queue, provide a topic and a one-letter signature.
-
Station Setup:
- Specify the number of stations.
- Associate specific queues with each station.
-
Graphical Interface:
- Observe the generated windows for each station, the ticket printing kiosk, and the centralized screen.
-
Ticket Handling:
- At each station, use the green button to call a ticket and the blue button to confirm the customer's presence.
Contributions are welcome! Feel free to open issues, submit pull requests, or suggest improvements.