Football Management System

Java project developed for the Object-Oriented Programming and Software Engineering exams.

The goal of the project is to collect sports data: teams, players, stadiums and matches. The application can be accessed with three kinds of profile:

  • Customer: registration is open to everyone, but the operations available inside the application are limited.
  • Manager: registration is password-protected; more operations are available than for a customer, but a manager cannot manage the database tables about users.
  • Admin: registration is password-protected, and an admin has full freedom inside the system.

Besides the usual credentials, every user can pick a profile picture among those stored in the system.

All the information in the system is displayed in tables. The available operations are:

  • add: depending on the current menu, adds a new object to the database.
  • delete: depending on the current menu, removes the selected object from the database.
  • update: depending on the current menu, updates the data of the selected object.
  • export: depending on the current menu, exports the information as a spreadsheet in .xlsx and .xls format.

In the “Matches” menu you can also select an upcoming match and buy tickets: they are generated as a PDF file (you choose its name and where to save it) showing the buyer’s information and a unique serial code for each ticket.

The software is written in Java and uses the MySQL DBMS to manage its database. The project can be freely downloaded from GitHub.

Later on I wrote a mock Software Requirements Specification (SRS) for the Software Engineering exam: the document includes four UML diagrams describing parts of the project, plus a few applications of design patterns. It is available in the GitHub repository as well.