https://github.com/sdley/queue-management-system
Design and implementation of a queue management system
https://github.com/sdley/queue-management-system
hacktoberfest java spring-boot
Last synced: 7 months ago
JSON representation
Design and implementation of a queue management system
- Host: GitHub
- URL: https://github.com/sdley/queue-management-system
- Owner: sdley
- Created: 2025-01-04T14:12:26.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-10-21T10:19:30.000Z (10 months ago)
- Last Synced: 2025-10-21T12:23:15.093Z (10 months ago)
- Topics: hacktoberfest, java, spring-boot
- Language: Java
- Homepage:
- Size: 727 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Queue Management System
Design and implementation of a web application for queue management.
## Project Overview
This system allows users to select a service (e.g., utilities, banking), choose a location, and track their position in a service queue. The platform displays:
- E-ticket number
- User's position in the queue
- Number of people ahead
- Current ticket being served
Agents manage queues via an interface (e.g., move to next/previous client), and administrators access a backoffice dashboard to monitor all ongoing queues.
## System Architecture
### Actors
- **Client:** Beneficiary requesting services
- **Agent:** Service provider managing clients
- **Admin:** Administrator overseeing all queues
- ### Use Case Diagram

fig: use case diagram
### Functional Requirements
- Select service
- Choose location
- Agents call next/previous client
- View ongoing queues and current ticket numbers
### Main Classes
- Person
- Client
- Agent
- Admin
- Service
- Queue (FileAttente)
- Location
#### Key Relationships
- A Service can have multiple Locations.
- A Queue is linked to one Service but can contain multiple Clients.
- Agents serve clients in a queue.
- Admins have a global view over all queues.

fig: relationships between main classes
### Technology Stack
- **Frontend :** Next.js 15, Tailwind CSS
- UI: [`queue-management-system-ui`](https://github.com/sdley/queue-management-system-ui)
- **Backend:** Spring Boot, MySQL, Spring Data JPA, Hibernate, RESTful API
## Getting Started
1. Clone this repository.
2. Install required dependencies: Java, Maven, MySQL (MariaDB).
3. Run `docker-compose up -d mariadb` to start the MariaDB container.
4. Run `CREATE DATABASE IF NOT EXISTS queueManagementDB;` in MariaDB before starting the project.
5. Run the project using `mvn spring-boot:run`.
6. Access via `localhost:8080`.
## Contributing
- Read `CONTRIBUTING.md` for contribution guidelines.
- To participate in Hacktoberfest, look for issues tagged with `hacktoberfest` or `good first issue`.
- Please adhere to the `CODE_OF_CONDUCT.md`.
## License
MIT License, © [sdley Souleymane DIALLO](https://sdley.github.io/) 2025
## Acknowledgements
- Inspired by real-world queue management needs.
- Thanks to all contributors and the open-source community enthusuasts.
## Contact
For questions or support, reach out via [GitHub Issues](https://github.com/sdley/queue-management-system/issues) or contact [sdley Souleymane DIALLO](https://sdley.github.io/).