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.

Given below are my contributions to the project.

New Feature:

Income Analytics Panel #94

  • I implemented the income analytics panel, which contains the income earned today, weekly, monthly, and lifetime. It features a bargraph comparing income for the past 6 months.

  • Justification: This feature improved the application’s functionality by allowing coaches to track their income and compare it over time. The bargraph feature and different time frames made it easy to quickly analyze earnings and identify any trends or changes in income.

Session List Panel #80

  • I implemented the session list panel, which displays the session information when clicked on. This panel includes all necessary session information as well as a new piechart that shows the students’ attendance.

  • Justification: This feature improved the application’s organization by providing coaches with an easy-to-use and comprehensive overview of their training sessions. The piechart added an extra level of detail and made it easy to quickly see which students attended which sessions.

Baseline Session Class #40

  • I implemented the baseline session class, which includes the input parser, datetime validity, and other basic properties.

  • Justification:This feature improved the application’s codebase by ensuring consistency throughout the application. The input parser and datetime validity checks also ensured that all input data was validated and formatted correctly, improving the application’s reliability and accuracy.

Calendar Interface #51 #79

  • I added the calendar interface that updates when sessions are added or deleted. It also includes a popup window when clicking on an event.

  • Justification: This feature greatly improved the usability of the application by allowing coaches to easily track their training sessions and view their schedules at a glance. The popup window feature also made it easier to view the details of each session and provided coaches with a more interactive and user-friendly interface.

    • Credits: adapted from http://www.java2s.com/ref/java/javafx-gridpane-layout-calendar.html & wongyewjon

Code contributed:

RepoSense link

Project management:

  • Provided support to team members by reviewing their pull requests and helping with any technical issues they faced.
  • Helped with debugging and testing the application to ensure its functionality.
  • Reviewed and provided feedback on several pull requests from team members.
  • Added branch protection to require a reviewer before merging to ensure all code is reviewed before being merged.
  • Reminded teammates to use GitHub functionalities like “close #issues number” for easy issue tracking and management.

Enhancements to existing features:

Fuzzy Search #34

  • I enhanced the find command so that even partial searches are accepted.

  • Justification: This feature improved the application’s search functionality by making it more user-friendly and allowing coaches to search for sessions using partial or incomplete search terms. It made finding specific sessions easier and faster, saving coaches time and effort.

Documentation:

  • About Us: #20

    • Added Profile Picture for teammates
  • User Guide: #151

    • Contributed to various sections of the user guide, including the calendar interface, income analytics panel, session list panel, and search functionality.
    • Formatted the user guide to make it more visually appealing and easier to navigate.
    • Added subheadings for visibility and ensured consistency throughout the document.
    • Updated the command summary to provide a comprehensive and clear overview of the application’s functionality.