Welcome to the League Tracker User Guide! You can choose a topic below to find out how to use our product.
By: CS2113-AY1819S2-M11-1
Since: Jan 2019
Licence: MIT
The League Tracker is an application that provides you with an efficient method of managing information of a football league. It features easy access and modification of information of teams and players in the league. The League Tracker will help you in keeping track of the current situation in a football league.
This User Guide provides information on the League Tracker installation process and commands of each feature. To get started, you can go to the Quick Start section.
-
Ensure that you have Java version
9
or later installed in your Computer. -
Download the latest
LeagueTracker.jar
-
Copy the file to the folder you want to use as the home folder for your League Tracker System.
-
Double-click the file to start the application. The GUI should appear in a few seconds.
-
Type the command in the command box and press Enter to execute it.
You can view the information of all commands in the League Tracker by using the Help command.
Format: help
💡
|
Help is also shown if you enter an incorrect command e.g. |
The League Tracker has five main features: player feature, team feature, match feature, finance feature and export feature. These features will help you to manage useful information of your league more conveniently and effectively.
The players feature in the application helps you to manage information of players in the league. In League Tracker, a player profile consists of 11 necessary pieces of information (see Table 1 below) and zero or more tag(s) (optional)
Player name |
Position played by the player |
Age of the player |
Salary of the player (in USD) |
Goals scored by the player |
Goals assisted by the player |
Name of the team that the player belongs to |
Player’s nationality |
Player’s jersey number in the current team |
Number of appearance by the player in league games |
Health status of the player |
You can use the addPlayer
command to add a new player to the League Tracker.
Format :
-
addPlayer NAME p/POSITION a/AGE sal/SALARY gs/GOALSSCORED ga/GOALSASSISTED tm/TEAM ctry/COUNTRY jn/JERSEYNUMBER app/APPEARANCE hs/HEALTHSTATUS t/TAGS
Example:
-
addPlayer Lionel Messi p/RW a/31 sal/20 gs/20 ga/20 tm/FC Barcelona ctry/Argentina jn/10 app/54 hs/Healthy
If the player has been successfully added, a success message will be displayed to the user with all attributes listed(see figure 3)
Important
|
In League Tracker, a player could only be added if he/she belongs to an existing team in League
Tracker. Therefore, if the Team entered does not match any existing team in Leauge Tracker, player
addition will not be successfully executed.
|
ℹ️
|
* NAME should be spaces or alphanumeric characters;* Position should be spaces or alphanumeric characters;* AGE should be an integer between 0 and 100;* SALARY should be positive numbers in million USD;* GOALSSCORED should be a non-negative integer;* GOALSASSISTED should be a non-negative integer;* NATIONALITY should be a string;* JERSEYNUMBER should be an integer from 0 to 35;* APPEARANCE should be a non-negative integer;* HEALTHSTATUS should be a string;
|
As a full-detail addPlayer
Command requires numerous attribute inputs from users,
League Tracker provides an alternative command addFast
to add player faster with less attribute input
needed from the user.
Only NAME
, POSITION
, AGE
, SALARY
, TEAM
, NATIONALITY
, JERSEYNUMBER
and TAGS (optional)
are needed as input.GOALSSCORED
,GOALSASSISTED
,APPEARANCE
and HEALTHSTATUS
are set to default values (0,0,0 and Healthy)
Format :
-
addFast NAME p/POSITION a/AGE sal/SALARY tm/TEAM ctry/NATIONALITY jn/JERSEYNUMBER t/TAGS
Example:
-
addFast Lionel Messi p/RW a/31 sal/20 tm/FC Barcelona ctry/Argentina jn/10
If the player has been successfully added, a success message will be displayed to the user with all attributes listed (including those that assume default values)(See figure 4)
ℹ️
|
addFast Command has the same set of requirements on attribute data type as addPlayer command
|
You can use the deletePlayer
command to delete an existing player in the League Tracker.
First you need to do a listPlayer
command to obtain the index of player in the league record.
This step is necessary.
Then perform deletePlayer
command using this
index.
Format :
-
listPlayer
-
deletePlayer Index
Example:
-
Do a
listPlayer
command to obtain the index of all players in the league record.(See figure 5)
-
Assume that the user wants to delete the player named "Cristiano Ronaldo" with index 2, the user just needs to input
deletePlayer 2
as the delete command. -
If successfully deleted, a success message will be shown to the user. (See figure 6)
Warning
|
For current versions of League Tracker, deletion of players are permanent |
You can use the clearPlayer
command to delete all existing players in the League Tracker.
Format :
-
clearPlayer
All players in League Tracker will be deleted and a successful message will be displayed to user (see figure 7).
Warning
|
For current versions of League Tracker, deletion of players are permanent |
You can use the displayProfile
command to display the whole profile of a selected player.
First, you should do a listPlayer
Command to pass:[<u>obtain the index of the target player.
This step is necessary.
Then, you can use this displayProfile
Command to pass:[<u>obtain the full player profile for the playerpass:[<u>.
Format :
-
listPlayer
-
displayProfile Index
Example:
-
listPlayer
-
displayProfile 1
If the player with the index exists, a success message will be displayed to the user containing all information regarding the player
You can use this editPlayer
command to edit information of an existing player's profile
in the League Tracker.
First, you need to do a listPlayer
command to obtain the index number of the target player in league tracker’s record.
This step is necessary.
Then, you can use editPlayer
command to do edition on the attribute information by providing respective
updated information. Consequently the profile of the target player will be edited in accordance with the
information provided.
💡
|
Our Please note that you need to key in at least one attribute to make the |
Format :
-
listPlayer
-
editPlayer INDEX_NUMBER [n/NAME] [p/POSITIONPLAYED] [a/AGE] [sal/SALARY] [gs/GOALSSCORED] [ga/GOALSASSISTED] [ctry/NATIONALITY] [jn/JERSEYNUMBER] [app/APPEARANCE] [hs/HEALTHSTATUS] [t/TAGS]
('[]' means that this entry is optional, If it is not typed in the input, the original information for this particular attribute will be kept unchanged)
Example:
let’s say you want to edit the player profile of a player with name "Lionel Messi"
Specifically, you want to change the salary information to be '2000' in the league tracker.
-
listPlayer
From the listPlayer
command (See figure 9), you find out that the index number of player 'Lionel Messi' is 1.
-
editPlayer 1 sal/2000
If the edition is executed successfully, a success message will be displayed to the user containing the player profile after edition(See figure 10).
ℹ️
|
You will not be allowed to change player’s team using the editPlayer command.It should be done using the transfer Command.Edition of GOALSSCORED is also blocked in editPlayer command to avoid interference with League Tracker’s
automatic update using match information
|
Warning
|
As League Tracker’s internal algorithms use players' NAME attributes to distinguish, identify and track
player objects, please be reminded that edition of NAME using editPlayer command should be
treated carefully after thorough considerations. You most
likely need to adjust respective match information to make sure your action will not cause unwanted consequences.
|
You can use the findPlayer
command to search for players in League Tracker using certain keywords.
Format:
-
findPlayer KEYWORD
Example:
-
findPlayer Messi
If one or more players with such keyword in his/her name exist in the league tracker, his/her/their profile details will be displayed.(See figure 11).
You can use the listPlayer
command to check the list of all players with their details in League Tracker.
Format :
-
listPlayer
A list of all players' information will be displayed following the command.(See figure 12)
You can use the sortPlayer
command to sort the player list by alphabetical order.
Format :
-
sortPlayer
Example:
Figure 13 shows a player list before sorting, obtained using listPlayer
command. However, listPlayer
is
not compulsory here.
listPlayer
Command-
sortPlayer
If the sortPlayer command is executed successfully, a success message will be displayed to user. (see figure 14)
Now do another listPlayer
command, you can see that the player list has been alphabetically sorted.(See figure 15)
You can use the transfer
command to transfer a player to another existing team in League Tracker.
Format :
-
transfer PLAYERNAME tm/DESTINATIONTEAM jn/NEWJERSEYNUMBER sal/NEWSALARY
ℹ️
|
The player must already exist in League Tracker. The destination team must already exist in League Tracker The destination team shall not be the same as the player’s current team The Jersey Number must be available in the destination team All data type constraints of these attributes still hold |
Example:
Let’s say you want to transfer the player "Lionel Messi" who is currently in team "FC Barcelona" to team "Juventus", his jersey number will be 10 at "Juventus", his salary will be 20,000,000 USD at "Juventus". (Here in example, assume that the conditions stated above are all met)
-
transfer Lionel Messi tm/Juventus jn/10 sal/20000000
If the transfer is successfully executed, a success message will be shown to the user with player’s name, his team before transfer, his team after transfer, his new jersey number and his new salary.(See figure 16)
ℹ️
|
For current versions, League Tracker will keep the gaols scored data as it keeps track of total number of goals scored by the individual player. |
You can use the displayProfile
command to display the profile of a specific player
identified by his index number.
First you need to do a listPlayer
command to obtain the index of player in the league record.
This step is necessary.
Then perform displayProfile
command using this index.
Format:
-
listPlayer
-
displayProfile INDEXNUMBER
Example:
-
displayProfile 1
If the index number correctly identifies a player, the player’s profile will be displayed to user.(See figure 17)
The teams feature in the application helps you to manage information of football teams in the league.
You can use the Add Team command to add a new team to the League Tracker.
Format : addteam NAME c/COUNTRY s/SPONSORSHIP [t/TAGS]
Example:
addteam Liverpool c/United Kingdom s/2000000 t/red
Adds a new Team with the specified details.
You can use the Delete Team command to delete an existing Team from League Tracker.
Format : deleteteam INDEX
Example:
-
listteam
-
deleteteam 1
Deletes the 1st Team in the Team list.
You can use the Edit Team command to edit information of a Team in League Tracker.
Format : editteam INDEX [n/NAME] [c/COUNTRY] [s/SPONSORSHIP] [t/TAGS]
Example:
-
listteam
-
editteam 1 n/United Malaysia
Edits the name of the 1st Team in the Team list to United Malaysia.
ℹ️
|
Team’s name cannot be edited if existing players or matches are tied to the team. |
You can use the Find Team command to find teams containing certain keywords.
Format : findteam KEYWORD
Example: findteam a
You can use the List Team command to see the list of all current teams in the league.
Format : listteam
You can use the View Team command to see the deatils of a Team from the league tracker.
ℹ️
|
Running this command will display all players in the team, thus you can use this if you want to know who are in the team. |
Format : viewteam INDEX
Example:
-
listteam
-
viewteam 1
Display the 1st team’s details.
The Match Schedule Feature in the application helps you to manage information of matches in the league.
You can use the addmatch
command to add a new match to League Tracker.
Format : addmatch DD MMM YYYY h/HOMETEAM a/AWAYTEAM
Important
|
HOMETEAM and AWAYTEAM must be added into League Tracker before addition of match. (See section 4.2.1. Add Team)
|
Example:
addmatch 1 Jan 2019 h/Fulham a/Chelsea
Adds a new match with the specified details.
You can use the deletematch
command to delete an existing match from League Tracker.
Format : deletematch INDEX
ℹ️
|
You should listmatch or findmatch to get INDEX before you execute this command.(See sections 4.3.4. List Matches and 4.3.5. Search For Matches By Match Date) |
Example:
-
listmatch
-
deletematch 1
Deletes the 1st match in the match list.
You can use the clearmatch
command to delete all existing matches from League Tracker.
Format : clearmatch
Clears all matches in League Tracker.
You can use the listmatch
command to see the list of all matches in League Tracker.
Format : listmatch
List all matches in League Tracker.
You can use the findmatch
command to search for matches in League Tracker with same day, month or year.
Format:
-
findmatch DATE
ℹ️
|
If the day of the DATE is single digit, i.e 1-9, "0" must be added in front. For example, 8 Apr 2019 is to be keyed in as 08 Apr 2019.Month is case-sensitive when used in this command. |
Example:
-
findmatch 01 Feb 2020
If one or more matches has date with the same day, month or year, a summary of the match(es) will be displayed.
You can use the updatematch
command to update the outcome of an existing match in League Tracker.
Format : updatematch INDEX h/HOMEREVENUE a/AWAYREVENUE [g/GOALSCORER]… [o/OWNGOALSCORER]…
Important
|
GOALSCORER and OWNGOALSCORER must be in the TEAMS participating in the match.
|
ℹ️
|
GOALSCORER and OWNGOALSCORER are optional fields and can be omitted.GOALSCORER and OWNGOALSCORER can also be included in command more than once to add more GOALSCORERs and OWNGOALSCORERs e.g updatematch INDEX h/HOMEREVENUE a/AWAYREVENUE [g/GOALSCORER][g/GOALSCORER][o/OWNGOALSCORER][o/OWNGOALSCORER] .
|
ℹ️
|
You should listmatch or findmatch to get INDEX before you execute this command.(See sections 4.3.4. List Matches and 4.3.5. Search For Matches By Match Date) |
Example:
-
listmatch
-
updatematch 1 h/20 a/8
Updates the 1st match in the match list with specified match results.
You can use the viewmatch
command to see the full details of a Match in League Tracker.
Format : viewmatch INDEX
ℹ️
|
You should listmatch or findmatch to get INDEX before you execute this command.(See sections 4.3.4. List Matches and 4.3.5. Search For Matches By Match Date) |
Example:
-
listmatch
-
viewmatch 1
Display the 1st match details.
The Finance Feature in the application helps you to manage and keep track of financial conditions in the league.
You can use the Get League Finance command to view the total financial condition of the league.
Format : getlf
Example:
getlf
ℹ️
|
The histogram of financial incomes of four quarters helps you to better visualise the trend of changes of financial income. |
You can use the Get Team Finance command to view the financial condition in USD of a selected Team in League Tracker.
Format : getfinance INDEX
Example:
-
Listteam
-
getfinance 4
💡
|
This Get Team Finance command enables you to view the financial condition of a team from the list of teams. This is applicable when you are viewing the team list and then you get curious about the financial condition of a certain team in the team list. |
You can use the List Team Finance command to view the list of financial condition in USD of all Teams in the league.
Format : listfinance
Example:
listfinance
ℹ️
|
The order of the finance list corresponds to the order of the list of teams. |
You can use the View Team Finance command to view the financial condition in USD of a selected Team in League Tracker
from the finance list.
Format : viewfinance INDEX
Example:
-
Listfinance
-
viewfinance 4
ℹ️
|
This View Team Finance command gives you a more detailed version of the financial condition compared to the result of Get Team Finance command. More information on sponsorship and ticket income is given. |
The Export Feature in League Tracker allows user to export data stored in League Tracker to Excel files to facilitate data transfer, storage and further processing.
This feature is empowered by an external Java library named Apache Poi, developed and maintained by the Apache Software Foundation.
You can use the exportPlayer
command to export all player profiles currently stored in League Tracker's storage file
to an Excel file
For now, the export path has been hard-coded to be exported_player_record.xls
, which can be found under the same directory of
the application once exportPlayer
command is called.
Format:
-
exportPlayer
A success message will be displayed to the user after successful export. (see figure 26)
You can view and have further manipulation with the data exported. Figure 27 below shows what
it looks like inside exported_player_record.xls
.
ℹ️
|
If exported_player_record.xls already exists, the exportPlayer command will overwrite the content.
|
You can use the exportTeam
command to export all team profiles currently stored in League Tracker's storage file
to an Excel file
For now, the export path has been hard-coded to be exported_team_record.xls
, which can be found under the same directory of
the application once exportTeam
command is called.
Format:
-
exportTeam
A success message will be displayed to the user after successful export. (see figure 26)
You can view and have further manipulation with the data exported. Figure 29 below shows what
it looks like inside exported_team_record.xls
.
ℹ️
|
If exported_team_record.xls already exists, the exportTeam command will overwrite the content.
|
You can use the exportFinance
command to export all finance records currently stored in League Tracker's storage file
to an Excel file
For now, the export path has been hard-coded to be exported_finance_record.xls
, which can be found under the same directory of
the application once exportFinance
command is called.
Format:
-
exportFinance
A success message will be displayed to the user after successful export. (see figure 26)
You can view and have further manipulation with the data exported. Figure 31 below shows what
it looks like inside exported_finance_record.xls
.
ℹ️
|
If exported_finance_record.xls already exists, the exportFinance command will overwrite the content.
|
You can use the exportMatch
command to export all match records currently stored in League Tracker's storage file
to an Excel file
For now, the export path has been hard-coded to be exported_match_record.xls
, which can be found under the same directory of
the application once exportMatch
command is called.
Format:
-
exportMatch
A success message will be displayed to the user after successful export. (see figure 32)
You can view and have further manipulation with the data exported. Figure 33 below shows what
it looks like inside exported_match_record.xls
.
ℹ️
|
If exported_match_record.xls already exists, the exportMatch command will overwrite the content.
|
You can use the generateReport
command to have an in-app analysis on data stored in League Tracker
using its internal tools. Results will be compiled, processed and presented to you formally in a
report format (see figure 34).
Format: generateReport
The report consists of five sections:
1. Report introduction and timestamp
2. League Summary
3. Golden Boot (League top scorer)
4. Top scorers in each team
5. Transfer records of all player transfers executed successfully in the past
-
Section 1: Report Introduction and Timestamp
In this section, a brief introduction of report generation will be given and the exact timestamp of report generation will also be displayed for reference purposes. (See figure 35)
-
Section 2: League Summary
In this section, a summary of status and progress of the whole league will be presented (See figure 36), including:-
Number of players currently tracked by League Tracker in league
-
Number of teams currently tracked by League Tracker in league
-
Number of matches currently tracked by League Tracker in league
-
Number of matches played and updated
-
-
Section 3: Golden Boot (league top scorer)
In this section,NAME
,TEAM
andGOALSSCORED
of the current Golden Boot in the league will be presented (See figure 37). If there are more than one player in the league having the same number of goals at the top of score board, all of them will be recognized and displayed here.
-
Section 4: Top Scorer(s) in Each Team
In this section,NAME
,TEAM
andGOALSSCORED
of the top scorer(s) in each team will be presented (See figure 38). If there are more than one player in the same team having the same number of goals at the top of score board, all of them will be recognized and displayed here.
-
Section 5: Transfer Records
In this section, All transfer records since activation of League Tracker will be displayed here. (See figure 39)
ℹ️
|
For tracking purposes, all transfer ever made will be recorded, saved and displayed until the app resets |
Important
|
As our exciting data analysis feature is still under development, we welcome all suggestions as of what other analysis should we include in the report. Please email [email protected] if you have any suggestion, |
League Tracker also has some general commands
You can use the help
command to view the help sheet that we prepare to guide you when you use League Tracker.
Format: help
Once successfully executed, the help sheet will appear for your view. All commands available are recorded and nicely categorized for your easy reference.(See figure 40)
ℹ️
|
This help sheet will also be displayed when you key in wrong formats of commands to help you correct your usage |
League tracker data are saved in the hard disk automatically after any command that changes the data.
You do not need to save data manually. League tracker data are saved in a file called league_tracker.txt
in the project root folder.
Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous LeagueTracker folder.
List all commands : help
Exit the program : exit
Generate a report from data store in League Tracker : generateReport
Add a Player to League Tracker: addPlayer
Add a Player to League Tracker faster : addFast
Delete a Player from League Tracker: deletePlayer
Delete all Players from League Tracker : clearPlayer
Edit a Player’s Profile : editPlayer
Export all player profiles to an Excel file : exportPlayer
Search for players using keywords : findPlayer
List all Players in the league : listPlayer
Sort League Tracker player list : sortPlayer
Transfer a player to another team : transfer
Display a Player’s Profile : displayProfile
Add Team to League : addteam
Clear all Teams in League : clearteam
Delete Team from League : deleteteam
Edit Team’s Profile : editteam
Export all Team profiles to an Excel file : exportTeam
Find Team with Keyword : findteam
List Team in League : listteam
View Team in League : viewteam
Add Match to League : addmatch
Delete Match from League : deletematch
Delete All Match from League : clearmatch
Export all match information to an Excel file : exportMatch
List Matches in League : listmatch
Search For Matches By Match Date in League : findmatch
Update Match in League : updatematch
View Match Detail : viewmatch