Skip to content
mattiapiazzalungaPublic

About

A web-app for managing events and parties in YOUR city. University project 2023/2024. EN.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

YUP

Your Unique Party

Use YUP

YUP is available at www.youruniqueparty.com

Introduction

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.

YUP team

Our team:

  • Mattia Piazzalunga - 851931;
  • Matteo Severgnini - 851920;
  • Nicolò Urbani - 856213.

For any problems or questions contact us at team@youruniqueparty.com

License

YUP is released under the MIT license.

MIT License

The architecture

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.

Main languages, technologies and frameworks:

  • 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.

Front-end Technology Selection

Considering the main purpose of the project, which prioritizes adherence to Scrum principles and Agile methodologies, and acknowledging the expertise of the team, technologies that are a de-facto standard have been chosen. Thymeleaf offers a faster, simpler, and more integrated development path, especially since the team is familiar with Java/Spring technologies. By leveraging the technologies descripted, the team can build a modern and efficient web application that meets the project requirements effectively.

Documentation

The generated documentation is available on GitLab Pages at the following links:

About

A web-app for managing events and parties in YOUR city. University project 2023/2024. EN.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages