Bennett Clement's Project Portfolio Page
Project: FitEgo
FitEgo is a desktop application for fitness instructors to schedule, and keep track of his/her customers’ progress and payments in one place. It is faster compared to manually tracking administrative matters using alternative software like Excel and Google Calendar. The user interacts with it using a CLI, and it has a GUI created with JavaFX.
It is written in Java, and has about 23 kLoC.
Given below are my contributions to the project.
- New Feature: Added the ability to add / delete sessions. (Relevant PR(s): #72, #97)
- What it does: This feature allows the user to create and delete fitness sessions.
- Justification: This feature is core to the product because the user needs to create a session before they can schedule a client. I also lay the foundation for other team members to work on the session model.
- Highlights: This enhancement required an in-depth analysis of design alternatives. The implementation was challenging as it deals with dates, the notion of “overlapping” dates, and handling schedules related to the session.
- New Feature: Added table to view a list of client’s schedules. (Relevant PR: #159)
- What it does: List client’s schedules (with remarks, payment status and exercise type)
- Justification: This feature makes it easy for the user to keep track of client’s progress in one page.
- Highlights: The implementation was challenging as it required the table to be resizable and to show updates as soon as user changes any details about the client / schedules.
- New Feature: Added the feature to write remarks for a schedule. (PR: #140)
- What it does: This feature allows the user to save notes / observation of the client for a given session. The user can view the remarks for each session in a table shown together with other client’s details.
- New Feature: Added the feature to customize a client’s profile picture. (relevant commit)
- What it does: This feature allows the user to add their client’s pictures in the
data
folder. If there is no picture provided, FitEgo will fall back to a default picture.
- What it does: This feature allows the user to add their client’s pictures in the
-
Code contributed: RepoSense link
- Project management:
- Managed all releases
v1.1
-v1.3
(4 releases) on GitHub - Set up the GitHub team org/repo
- Set up tools (Gradle)
- Maintained issue tracker by setting up milestones, label and triaging bugs
- Managed all releases
- Enhancements to existing features:
- Documentation:
- User Guide:
- Developer Guide:
- Review/mentoring contributions:
- Regularly discussed implementation details in our group’s communication channel.
- Helped others debug and find solution during team meetings. For example, together with Wei Jie and Kelvin, we integrate the tab pane in client’s information page.
- Posted issues and discussions on issue tracker. (Some examples: #98, #107, #223)
- PRs reviewed (with non-trivial review comments): #101, #230, #231
- Tools:
- Integrated new Github plugins (PlantUML and Codecov) to the team repo.
- Community:
- Reported bugs and suggestions for Group CS2103T-T15-4 on CATcher.