PROJECT: Powerlifting Competition Coordinator


Overview

Powerlifting Competition Coordinator (PCC) aims to help organisers Powerlifting competition to administer powerlifting competitions. PCC manages athletes, competitions and participations in competitions.

Summary of contributions

  • Major enhancement 1: added to find participations using keywords

    • What it does: allows the user to find an athlete who participates in a competition using some keywords. For instance, competition organisers can search for all athletes who participate in a competition by supplying a competition name as the keyword. Organisers can also search for which competitions an athlete is participating in by supplying an athlete’s name as a keyword.

    • Justification: A search for athletes and their associated competitions.

  • Major enhancement 2: added to find competitions using keywords

    • What it does: allows the user to find competitions using some keywords.

    • Justification: To match and return all relevant data which match keywords.

  • Major enhancement 3: added compute overall rank

    • What it does: Sorts and displays ranking of athletes according to the amount of times they are the overall champions for any competition.

    • Justification: To find which athlete(s) is a consistent podium finisher.

  • Code contributed: [Functional code]

  • Other contributions:

    • Project management: <to be amended>

      • Helped to manage releases v1.2 - v1.4 (3 releases) on GitHub

    • Enhancements to existing features:

    • Documentation:

      • Updated User Guide: #137

      • Updated Developer Guide: #137

{you can add/remove categories in the list above}

Contributions to the User Guide

Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users.

Finding participations: findParticipation

Finds and lists all participations in the participation list, whose competition name or person name contain any of the inputted keyword(s).

Format: findParticipation [KEYWORD 1] …​ [KEYWORD N]

Examples:

  • findParticipation NUS Open 2019 Bob

  • findParticipation Alex

Finding an existing competition: findCompetition

Finds and lists all competitions in the system whose name or dates contains any of the argument keywords. Keyword matching is case insensitive.

Format: findCompetition [KEYWORD 1] …​ [KEYWORD N]

Example: findCompetition NUS Open 2019

Showing overall ranking: overallRank

Sorts and displays ranking of athletes according to the amount of times they are the overall champions for any competition.

Format: overallRank

Finding participations: findParticipation

Finds and lists all participations in the participation list, whose competition name or person name contain any of the inputted keyword(s).

Format: findParticipation [KEYWORD 1] …​ [KEYWORD N]

Examples:

  • findParticipation NUS Open 2019 Bob

  • findParticipation Alex

Finding an existing competition: findCompetition

Finds and lists all competitions in the system whose name or dates contains any of the argument keywords. Keyword matching is case insensitive.

Format: findCompetition [KEYWORD 1] …​ [KEYWORD N]

Example: findCompetition NUS Open 2019

Contributions to the Developer Guide

Given below are sections I contributed to the Developer Guide. They showcase my ability to write technical documentation and the technical depth of my contributions to the project.

Implementation

Overall Rank feature

The user can list the persons in the system by the number of times they won a competition.

Format: overallRank

Due to time limitations we have not allowed the user to specify any other ranking method but given the design of our system which is highly extensible, it would not be hard to do so in future versions.

Pros:

  • Takes in no parameters so user will make minimal mistakes.

  • Avoid complications between unmatched name and person.

  • Easy to implement.

Cons:

  • User will have to scroll through the person list if it is very long to find a specific name. .Activity Diagram of the overallRank Command image::overallRank_activity.png[]

Finding competition feature

The user can filter the competitions in the system by keywords contained in the fields of the competitions.

Format: findCompetition [KEYWORD 1] …​ [KEYWORD N]

Example: findCompetition NUS Open 2019

Pros:

  • Allows for user the flexibility of specifying multiple keywords allowing them to change the search scope easily.

  • Easy to implement.

Cons:

  • User will have to scroll through the filtered competition list if the keywords are contained by many competitions in the system.

Finding participation feature

The user can filter the participations in the system by keywords contained in the competition name or the person name of the participation.

Format: findParticipation [KEYWORD 1] …​ [KEYWORD N]

Example: findParticipation NUS Axel

Pros:

  • Allows for user the flexibility of specifying multiple keywords allowing them to change the search scope easily.

  • Easy to implement.

Cons:

  • User will have to scroll through the filtered participation list if the keywords are contained by many participations in the system.

Overall Rank feature

The user can list the persons in the system by the number of times they won a competition.

Format: overallRank

Due to time limitations we have not allowed the user to specify any other ranking method but given the design of our system which is highly extensible, it would not be hard to do so in future versions.

Pros:

  • Takes in no parameters so user will make minimal mistakes.

  • Avoid complications between unmatched name and person.

  • Easy to implement.

Cons:

  • User will have to scroll through the person list if it is very long to find a specific name. .Activity Diagram of the overallRank Command image::overallRank_activity.png[]