YUP is available at www.youruniqueparty.com
YUP is born with the idea of promoting recreational parties and events, aiming to provide an accessible overview of entertainment in a given area for both young and older individuals. Whether it's "happy hours" or private parties, YUP presents them in a user-friendly web application. For YUP, every user matters, which is why personalized loyalty approaches are implemented. Even organizers utilize YUP. The web app allows for managing customers, loyalty aspects, and bookings.
If it's a party, it's a YUP.
Our team:
- Mattia Piazzalunga - 851931;
- Matteo Severgnini - 851920;
- Nicolò Urbani - 856213.
For any problems or questions contact us at team@youruniqueparty.com
YUP is released under the MIT license.
The basic architecture of YUP is the monolithic tier architecture suggested and used by Spring Boot.
It consists, in its most general form, of five components:
- Views. These frontend-side pages, external to the main backend architecture, interpret and manage user actions and convert requests to the backend. Furthermore, they modify their behavior and interface based on the responses generated by the server.
- Controllers. These handle incoming HTTP requests and coordinate the control flow of the application. Controllers interact with services to process requests and return appropriate responses.
- DTOs (Data Transfer Objects). These objects are used to transfer data between the various layers of the application, such as controllers and services. They are often used to encapsulate data from incoming HTTP requests or to represent data to be returned as a response. The use of DTOs helps to separate presentation logic from business logic and improve the modularity of the application.
- Services. These contain the business logic of the application. Services are responsible for processing data, enforcing business rules, and coordinating operations among multiple entities. Services can access repositories to retrieve or store persistent data.
- Entities. They represent the domain concepts of the application and are often mapped directly to relational database tables.
- Repositories. These provide an abstraction for data access. In Spring, repositories are often implemented using Spring Data JPA, which simplifies interaction with the database by providing methods for performing basic operations on persistent entities.
- Frontend. HTML5, CSS3, Javascript ES6 & Bootstrap 5.1, Thymeleaf 3.1.2;
- Backend. Java 21, Spring Boot 3.2.3.
- Database. SQL:2023 - ISO/IEC 9075:2023, PostgreSQL 16.0.0, H2 1.4.200 for local/test profiles & FlyWay 8.5.12.
