This repository contains the source code for the Exhibition Management System, a web application developed using Java and the Spring Boot framework. The system aims to facilitate the management and organization of exhibitions, including ticket sales, reservation handling and visitor monitoring.
Please note that the current implementation of this application GUI focuses mainly on the reservation process. While the code includes associations, attributes, and most of the methods for other functionalities, they are not yet fully implemented or accessible through the GUI.
- Java 17
- Spring Boot
- Spring Data JPA
- Hibernate
- Thymeleaf - HTML, CSS
- Spring Security
- Session-based web application
- Docker
- MySQL Database
- JavaDoc
The system enables the management and organization of exhibitions, as well as monitoring the flow of customers and facilitates the business aspects such as ticket sales and reservation handling.
The objective is to support the exhibition company by improving the processes of sales, reservations, monitoring visitor flow and generating reports.
- Employees
- Cashier
- Exhibition Manager
- Conservator
- Customers
- Clients (Visitors)
| Use Case Name | Make Online Exhibition Reservation |
|---|---|
| Description | This use case involves making a reservation for an exhibition using a website. While browsing the exhibitions, user can display artworks for selected exhibition . |
| Actors | Client (Visitor) |
| Preconditions | The client is on the website. |
| Main Flow of Events | 1. The client displays the list of available exhibitions. |
| 2. The client selects the desired exhibition. | |
| 3. The system allows the user to view the objects in the selected exhibition (this is not done by default). | |
| 4. The client proceeds to the initial reservation actions. | |
| 5. The client selects the number of seats to reserve. | |
| 6. The client selects the desired reservation date. | |
| 7. The system checks if there are available seats for the chosen date. | |
| 8. The system allows the selection of the guide's language. | |
| 9. The system asks the client if they have an account and the client logs in. | |
| 10. The client enters/edits their information. | |
| 11. The client confirms the reservation. | |
| 12. The system displays a confirmation of the successful reservation. | |
| Alternative Flows | 3a. The client displays the objects presented in the selected exhibition. |
| 7a.1. The system displays information about the lack of available seats. | |
| 7a.2.a. Return to step 5. | |
| 7a.2.b. End the flow. | |
| 8a. The client selects the language. | |
| 9a. The client creates an account. | |
| 9b. The client continues without logging in or creating a new account. | |
| Postconditions | Success: The reservation is successfully created. |
| Failure: The reservation is not created. |









