Creating a JavaFX FXML Desktop Application for local football clubs to organise inhouse tournaments using Java, Eclipse and Gluon Scene Builder connect to a MySQL database. It needs to use a computer science algorithm which can create fair/even teams for the tournament based on player ratings, which are stored for each player. The system should be used by local clubs also to manage the information of their player / staff.
Fair Team Generator:
The user will firstly enter the tournament details (Name, Date, Number of teams, Start Time, End Time e.t.c). Then the user should be able to select all the players participating in the new tournament e.g. through check list from a table. Then the computer science algorithm should be able to produce fair teams based on the players skills ratings of the players and through their goal history per tournament ( which is calculated by the goals table) , the teams should has at least one player with a high rating for each of the skills e.g. each team has at least one good defender, one good attacker e.t.c This algorithm should take into account the players ratings, the players average goals per tournament and their position. The system should display these teams, then if the user is happy then the teams can be saved in the database.
The teams are generally 5 a side but must can vary based on player / teams. The application should provide users with error messages and handle errors.
The next algorithm that needs to be implemented is a round robin scheduling algorithms. This should take in the users input for the tournament, using the number of teams, number of pitches and timings to produce a suitable schedule for the tournament. The algorithm should be used to assign a pitch and a referee for each match to produce a schedule. The user should be able to select whether to have knock out tournament or straight round robin tournament. For the knockout tournament, the schedules are produced on the results of the matches e.g. based on the winners going through to the next stage. A schedule should be produced providing the times for each match, the teams, the pitch and the referees e.t.c. The tournaments are usually held in one day, so it would be good if the user enters a start / end time for the tournament, then the algorithm can evenly distribute the timetable.