[2020] Tennis system [Java Swing+UML]

This project was a school project where you had to create a whole Java Swing project from scratch. The project had to be around tennis.
The idea is to have a MySQL database with some data in it (tennis player names, referee names, disponibilities with courts, etc.) and a lot of constraints (a tennis player can’t play two matches if you don’t consider a certain interval of time, etc.)

There is a lot of features you have to consider to make you can generate a whole planning of tennis players, playing games (qualification /single / double. As a user you can set the score of the match which leads him to the next step until you have the winner of the competition.

In this project, I was making mainly the backend. The Swing interfaces, even if I know him, is not something I made here. I know how to use it, though, as I already used Swing for other projects.

The whole User Interface is written in French, though.

Generate a random planning with tennis players during a few days – they’ll take a random court, have a certain amount of time of rest and a lot of constraints I won’t list. You are also able to switch between two matches, or change them with the empty spaces.
There is a USER button at the bottom for any people to book a training court when possible, as shown here:

You are also able, once you’ve planned everything, to begin the tournament. A dynamic tree which is different depending on the type of match (qualification, single, double) will be shown, showing what’s happening during the tournament.

Qualification tree

If you want the tournament to end, you need to enter the score in the matches. The tree will be refreshed every time you enter a score so every time you have a winner, until the end. You can see some extra data retrieved from MySQL as the nationality, age and that kind of information.


File structure

There was a lot of other features not shown here as well as a PHP website, but I don’t want to show a work other teammates have made.
This project took about 30 hours, including some UML graphs to think about the project before doing anything else.