Project: SportSync

SportSync is a desktop address book application used for coaching student athletes. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java.

New Features

Filtering based on tags function #31

  • Implemented the ability to filter athletes based on tags assigned to them.
  • Justification: This feature enables users to quickly search for a specific group of athletes while facilitating better organization.
  • Highlight: Required a solid understanding of how tags and the filtered person list work.

Scheduling of Session #69

  • Added the ability to schedule sessions, create and delete sessions, and add and delete athletes from a session.
  • Justification: This feature enables coaches to arrange sessions with their athletes, which is the primary function of SportSync.
  • Highlight: Involved understanding the general architecture and relationship between all classes.

Mark/Unmark function #75

  • Added the ability to take attendance of an athlete in a session.
  • Justification: This feature enables users to track the attendance of participating athletes in every session.
  • Highlight: Required understanding the right data structures to use, such as a HashMap to store the attendance field.

Basic UI for Session List Panel #76

  • Implemented the baseline UI for a session list panel.
  • Justification: This feature enables users to view all sessions and their specific details, making it easier to plan and organize them.
  • Highlight: Involved understanding the existing UI structure of the Person List Panel.

Enhancements to Existing Features

Add tag/Remove tag function #87

  • Added the ability to add and remove tags from an existing athlete.
  • Justification: This feature provides greater convenience to users who would like to add or remove a single tag.
  • Highlight: Involved a good understanding of the already-implemented edit-command.

Code Contributions

Check out my contributions on RepoSense

Project Management

  • Assisted in debugging and testing the application to ensure it performs accurately.
  • Took part in crucial team discussions to determine the project’s direction.
  • Routinely examined and incorporated pull requests submitted by other team members.

Documentation:

Community:

  • PRs reviewed (with non-trivial review comments): #29