Skip to content

Commit

Permalink
Merge pull request se-edu#58 from warheade/master
Browse files Browse the repository at this point in the history
updated Player package to avoid naming conflicts
  • Loading branch information
warheade authored Mar 30, 2019
2 parents c8f69cd + 4990888 commit d735a7d
Show file tree
Hide file tree
Showing 21 changed files with 232 additions and 198 deletions.
4 changes: 2 additions & 2 deletions docs/AboutUs.adoc
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
= About Us
:site-section: AboutUs
:relfileprefix: team/
:relfileprefix: teamName/
:imagesDir: images
:stylesDir: stylesheets

The LeagueTracker provides football league operator with an efficient method of managing the players, teams and matches in the season. It features many ways to keep track of the teams and players playing in the league. The LeagueTracker will help manager have an easier time in keeping track of the current situation in the football league. +
{empty} +
We are a team based in the http://www.comp.nus.edu.sg[School of Computing, National University of Singapore].
We are a teamName based in the http://www.comp.nus.edu.sg[School of Computing, National University of Singapore].

== Project Team

Expand Down
95 changes: 47 additions & 48 deletions docs/DeveloperGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -22,43 +22,6 @@ This application is adapted from AddressBook3. It is created to provide league m

This Developer Guide provides you useful information regarding setting, coding and testing of League Tracker.

== Design

=== Architecture

.Architecture Diagram
image::Architecture.png[width="600"]

The *_Architecture Diagram_* given above explains the high-level design of the League Tracker.
Given below is a quick overview of each component. +

*Main* has only one class called `Main`. It is responsible for:

* At app launch: Initializing the components in the correct sequence, and connects them up with each other.

* At shut down: Shutting down the components.


*Logic* is the command executor.

*Data* Holds the data of the League Tracker in-memory.

*Storage* Reads data from, and writes data to the hard disk.

=== Logic Component
[to be edited]

=== Data Component
[to be edited]

=== Storage Component
[to be edited]

=== Common Classes
Classes used by multiple components (eg.Utils.java) are collated in the `seedu.addressbook.common` package.
(`main` > `src` > `seedu` > `addressbook` > `common`)


== Setting up

=== Prerequisites
Expand Down Expand Up @@ -117,16 +80,52 @@ If you plan to develop this fork as a separate product (i.e. instead of contribu

Set up Travis to perform Continuous Integration (CI) for your fork. See <<UsingTravis#, UsingTravis.adoc>> to learn how to set it up.

After setting up Travis, you can optionally set up coverage reporting for your team fork (see <<UsingCoveralls#, UsingCoveralls.adoc>>).
After setting up Travis, you can optionally set up coverage reporting for your teamName fork (see <<UsingCoveralls#, UsingCoveralls.adoc>>).

[NOTE]
Coverage reporting could be useful for a team repository that hosts the final version but it is not that useful for your personal fork.
Coverage reporting could be useful for a teamName repository that hosts the final version but it is not that useful for your personal fork.

Optionally, you can set up AppVeyor as a second CI (see <<UsingAppVeyor#, UsingAppVeyor.adoc>>).

[NOTE]
Having both Travis and AppVeyor ensures your App works on both Unix-based platforms and Windows-based platforms (Travis is Unix-based and AppVeyor is Windows-based)

== Design

=== Architecture

.Architecture Diagram
image::Architecture.png[width="600"]

The *_Architecture Diagram_* given above explains the high-level design of the League Tracker.
Given below is a quick overview of each component. +

*Main* has only one class called `Main`. It is responsible for:

* At app launch: Initializing the components in the correct sequence, and connects them up with each other.

* At shut down: Shutting down the components.


*Logic* is the command executor.

*Data* Holds the data of the League Tracker in-memory.

*Storage* Reads data from, and writes data to the hard disk.

=== Logic Component
[to be edited]

=== Data Component
[to be edited]

=== Storage Component
[to be edited]

=== Common Classes
Classes used by multiple components (eg.Utils.java) are collated in the `seedu.addressbook.common` package.
(`main` > `src` > `seedu` > `addressbook` > `common`)


== Implementation

Expand Down Expand Up @@ -154,7 +153,7 @@ Auto-publishing of documentations has been enabled in League Tracker using Travi
Personal access tokens serve as passwords so they must be kept secret to protect your accounts. Delete and regenerate if it is leaked.

[TIP]
We use a new user account to generate the token for team projects to prevent team members from gaining access to other team members' repos.
We use a new user account to generate the token for teamName projects to prevent teamName members from gaining access to other teamName members' repos.
If you are the only one with write access to the repo, you can use your own account to generate the token.

* Add a description for the token. (e.g. Travis CI - auto-publishing)
Expand Down Expand Up @@ -239,7 +238,7 @@ Here are the steps to create a new release.

*Target user profile*:
* Football League Operators +
* Has a need to manage leagues, team and player profiles +
* Has a need to manage leagues, teamName and player profiles +
* Has a need to collect and view specific data regarding the league, matches, teams and players information in the league +
* Prefer typing over mouse input +
* Prefer desktop apps over other type +
Expand All @@ -248,7 +247,7 @@ Here are the steps to create a new release.

*Value proposition*:

* Manage league/team/player faster than a typical mouse/GUI driven app. +
* Manage league/teamName/player faster than a typical mouse/GUI driven app. +
* Easy access to records needed.


Expand All @@ -261,21 +260,21 @@ Priorities: High (must have) - `* * \*`, Medium (nice to have) - `* \*`, Low (un
|Priority |As a ... |I want to ... |So that I can...
|`* * *` |League Organiser |add, edit and delete players into the records | add new player when they join,delete old player when they retire

|`* * *` |League Organiser |add, edit and delete teams into current league| add new team that move up major league
|`* * *` |League Organiser |add, edit and delete teams into current league| add new teamName that move up major league

|`* * *` |League Organiser |list all teams and player. | See all current teams and player

|`* * *` |League Organiser |see the performance of players in the league | know player's goals scored and Penalties.

|`* * *` |League Organiser |see the teams ranking in league | know which team is currently leading in points
|`* * *` |League Organiser |see the teams ranking in league | know which teamName is currently leading in points

|`* * *` |League Organiser |keep track on the future match up for the playing teams| see the match scheduling

|`* * *` |League Organiser |add, edit and delete matches in current league | edit the match schedule

|`* * *` |League Organiser |see the real-time balancing of income of each team | know the financial condition of each team
|`* * *` |League Organiser |see the real-time balancing of income of each teamName | know the financial condition of each teamName

|`* *` |League Organiser |see the statistic of each team | know the percentage of winnings, average of fouls per matches of each team
|`* *` |League Organiser |see the statistic of each teamName | know the percentage of winnings, average of fouls per matches of each teamName


|=======================================================================
Expand Down Expand Up @@ -359,7 +358,7 @@ Use Case: Edit Player
. (Optional) User requests to list all players in the league
. (Optional) System shows a list of players
. User requests to edit a specific player in the list
. User first specifies the name, team and Jersey Number of the player
. User first specifies the name, teamName and Jersey Number of the player
. System returns a message of whether the player exists
. If the player exists, a "Please enter new details" Message will be shown by system to ask for
input. Otherwise, a PlayerNotFound exception Message will be printed followed by the list of commands
Expand All @@ -382,7 +381,7 @@ Use case ends.

image::transfer.png[width="300"]

*Jersey Number*: a number allocated to each player in a team to uniquely identify the player. Jersey Numbers usually range from 1 to 35 and will be printed at the back
*Jersey Number*: a number allocated to each player in a teamName to uniquely identify the player. Jersey Numbers usually range from 1 to 35 and will be printed at the back
of players' jerseys during matches for identification purposes.

*Mainstream OS*: Windows, Linux, Unix, OS-X
Expand Down
73 changes: 54 additions & 19 deletions docs/UserGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ Help is also shown if you enter an incorrect command e.g. `abcd`

== Features

The League Tracker has four main features: player feature, team feature, match feature and finance feature. These features will help you to manage useful information of your league more conveniently and effectively.
The League Tracker has four main features: player feature, teamName feature, match feature and finance feature. These features will help you to manage useful information of your league more conveniently and effectively.

=== Players
The players feature in the application helps you to manage information of players in the league. +
Expand All @@ -59,34 +59,70 @@ The players feature in the application helps you to manage information of player
==== *Add Player*
You can use the Add Player command to add a new player to the League Tracker. +

Format :`AddPlayer NAME POSITION AGE GENDER PENALTY GOALSSCORED GOALSASSISTED TEAM RANKINLEAGUE COUNTRY JERSEYNUMBER APPEARANCE HEALTHSTATUS`
Format :`AddPlayer NAME p/POSITION a/AGE sal/SALARY gs/GOALS_SCORED ga/GOALS_ASSISTED tm/TEAM ctry/COUNTRY jn/JERSEY_NUMBER
app/APPEARANCE hs/HEALTHSTATUS t/TAGS`

Example: +
`AddPlayer Lionel_Messi RW 31 Male 0 20 20 FC_Barcelona 1 Argentina 10 20 Healthy`
`AddPlayer Lionel Messi p/RW a/31 sal/0 gs/20 ga/20 tm/FC Barcelona ctry/Argentina jn/10 app/54 hs/Healthy`
{empty} +
{empty} +

==== *Delete Player*
==== *Quick-add Player*
As a full-detail AddPlayer Command requires numerous attribute inputs from users,
League Tracker provides an alternative command to add player faster with less attribute input
needed from the user. You can use the AddFast Player command to add a new player to the League Tracker.
Only NAME, POSITION, AGE, SALARY, TEAM, COUNTRY, JERSEY_NUMBER and TAGS (optional) are needed as input.
GOALS_SCORED,GOALS_ASSISTED,APPEARANCE and HEALTH_STATUS are set to default values (0,0,0 and Healthy)


Format :`AddFast NAME p/POSITION a/AGE sal/SALARY tm/TEAM ctry/COUNTRY jn/JERSEY_NUMBER t/TAGS`

Example: +
`AddFast Lionel Messi p/RW a/31 sal/0 tm/FC Barcelona ctry/Argentina jn/10`
{empty} +
{empty} +

==== *Delete Player By Index*
You can use the Delete Player command to delete an existing player in the League Tracker. +

Format :`delete Index`

Example: +
`delete 1`
{empty} +
{empty} +

==== *Delete Player By Name and Team Name(not in V1.3)*
You can use the Delete Player command to delete an existing player in the League Tracker. +

Format :`DeletePlayer NAME TEAM`
Format :`deletePlayer NAME TEAM`

Example: +
`DeletePlayer Lionel_Messi FC_Barcelona`+
`delete Lionel Messi tm/FC Barcelona`
{empty} +
{empty} +

==== *Display Player Profile*
==== *View Player Profile By Index*
You can use the Display Player Profile command to display the whole profile of a selected player. +

Format :`DisplayProfile Index`

Example: +
`DisplayProfile 1`
{empty} +
{empty} +

==== *View Player Profile By Name and TeamName(not in V1.3)*
You can use the Display Player Profile command to display the whole profile of a selected player. +

Format :`DisplayProfile NAME TEAM`

Example: +
`DisplayProfile Lionel_Messi FC_Barcelona`
`DisplayProfile Lionel Messi tm/FC Barcelona`
{empty} +
{empty} +

==== *Edit Player*
==== *Edit Player(not in v1.3)*
You can use the Edit Player command to edit information of an existing player in the League Tracker. +

Format :`EditPlayer OLDNAME OLDTEAM POSITION AGE GENDER PENALTY GOALSSCORED GOALSASSISTED TEAM RANKINLEAGUE COUNTRY JERSEYNUMBER APPEARANCE HEALTHSTATUS`
Expand All @@ -103,9 +139,8 @@ Format :`ListAllPlayer`
{empty} +
{empty} +

==== *List Player*

You can use the List Player command to see the list of players in a selected team. +
==== *List Player(not in v1.3)*
You can use the List Player command to see the list of players in a selected teamName. +

Format :`ListPlayer NameOfTeam` +

Expand All @@ -120,19 +155,19 @@ The teams feature in the application helps you to manage information of football
{empty} +

==== *Add Team*
You can use the Add Team command to add a new team to the League Tracker. +
You can use the Add Team command to add a new teamName to the League Tracker. +

Format : `AddTeam NAME c/COUNTRY g/GOAL SCORED p/POINTS`

Example: +
`AddTeam Liverpool c/United Kingdom g/64 p/70` +

Adds a new team with the specified details.
Adds a new teamName with the specified details.
{empty} +
{empty} +

==== *Delete Team*
You can use the Delete Team command to delete an existing team from League Tracker. +
You can use the Delete Team command to delete an existing teamName from League Tracker. +

Format : `DelTeam INDEX`

Expand All @@ -141,20 +176,20 @@ Example: +
* `ListTeam` +
* `DelTeam 1` +

Deletes the 1st team in the team list.
Deletes the 1st teamName in the teamName list.
{empty} +
{empty} +

==== *Edit Team*
You can use the Edit Team command to edit information of a team in League Tracker. +
You can use the Edit Team command to edit information of a teamName in League Tracker. +
Format : `EditTeam INDEX [c/COUNTRY] [g/GOAL SCORED] [p/POINTS]`

Example: +

* `ListTeam` +
* `EditTeam 1 c/Singapore` +

Edits the country of the 1st team in the team list to Singapore.
Edits the nationality of the 1st teamName in the teamName list to Singapore.
{empty} +
{empty} +

Expand Down Expand Up @@ -219,7 +254,7 @@ Example: +
{empty} +

==== *Get Team Finance*
You can use the Get Team Finance command to view the financial condition in USD of a selected team in League Tracker. +
You can use the Get Team Finance command to view the financial condition in USD of a selected teamName in League Tracker. +

Format : `GetTeamFinance INDEX`

Expand Down
8 changes: 4 additions & 4 deletions league_tracker.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
<salary>200</salary>
<goalsScored>30</goalsScored>
<goalsAssisted>20</goalsAssisted>
<team>FC Barcelona</team>
<country>Argentina</country>
<teamName>FC Barcelona</teamName>
<nationality>Argentina</nationality>
<jerseyNumber>10</jerseyNumber>
<appearance>54</appearance>
<healthStatus>Healthy</healthStatus>
Expand All @@ -20,8 +20,8 @@
<salary>200</salary>
<goalsScored>30</goalsScored>
<goalsAssisted>20</goalsAssisted>
<team>FC Barcelona</team>
<country>Uruguay</country>
<teamName>FC Barcelona</teamName>
<nationality>Uruguay</nationality>
<jerseyNumber>9</jerseyNumber>
<appearance>54</appearance>
<healthStatus>Healthy</healthStatus>
Expand Down
Loading

0 comments on commit d735a7d

Please sign in to comment.