FPL ( Fantasy Premier League) is a globally popular game where participants assemble a virtual team of footballers and rack up points based on their real-time performances in actual games.
The list of broad primary options (which may include several sub-functionalities) given to the user at first are-
To schedule an upcoming gameweek the user firstly needs to add the date and time of the gameweek's deadline for making transfers. Next, the number of fixtures in the gameweek is entered. For each fixture, one enters the home and away clubs, with the date and starting time of the game
To create a new team the user is required to enter the team details wiz Team name, Manager name and Nationality followed by picking a squad of 15 players with an initial pool of 20 million pounds. The lineup of the squad for the upcoming gameweek is randomly picked. Then, the user is prompted to add the team to one or more leagues where teams compete against each other by amassing points in every gameweek.
Multiple users can join a single league, where they can compete against each other based on the total points they have gained. One enters the league name and chooses the type and mode of the league from on the options given (a head-to-head league for instance has different functionalities here) . After creating a league, one has the option to add teams into it.
As the name suggests, this option enables the user to manage a required team for an upcoming gameweek i.e play a chip, make a transfer or change the lineup of the squad. Each sub-option performs the designated tasks using self-explanatory prompts. However, all these are subject to the gameweek deadline which when exceeded, the changes made to a team would not be saved.
Update details allows users to (extensively) update a wide range of values and tuples often involving relations between the 28 tuples. One can
- Update the results of completed fixtures
- Update a player's performance-based statistics
- Update the points earned by a player
- (Automatically) update the points earned by a virtual team
- (Automatically) update the results and rankings of leagues
This option primarily covers two special retrievals and one deletion. Retrievals include getting sponsor details using selection and projection functionality and computing the form of a player using aggregate functionalities. Both these sub-options involve critical analytics. The third sub-option allows the user to delete a sponsor in the funds drop.
Logs one out of the interface
The entry file to begin execution is FPL.py If one would like to view the raw MySQL tables (via the Linux Terminal)
- sudo service mysql start
- sudo mysql -u root -p and enter the credentials of the MySQL localhost.