Project: FitBook

FitBook is a desktop tracking book application used for tracking the progress and information for the clients. 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: Added attributes and classes (eg, Calorie, Appointment(first version) and Routine) to client and enhanced Add and Edit Command.
    • What it does: allows the user to add and edit the recommended calorie intake, appointment and routine of the client. (Optional attribute)
    • Justification: This feature improves the product significantly because a user may want to keep track of the appointment dates and time, recommended calorie’s intake of its clients and routine which makes it easier for the user to keep track.
    • Highlights: This enhancement affects existing commands and commands to be added in the future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands.
  • New Feature: Added Routine and Exercise storage and model to client.
    • What it does: allows the user to make changes to Routine and exercises, and it will be stored in the exerciseroutine.json file and reflect it in the current model for FitBookExerciseRoutine.
    • Justification: This feature improves the product significantly because user gets to save their data into the storage system for future uses.
    • Highlights: This enhancement affects existing storage to be added in the future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required to add new commands and updated storage and model.
  • New Feature: Added WeightHistory storage to client.
    • What it does: allows the user to make changes to WeightHistory, and it will be stored in the client’s storage and reflect it in the current model for clients.
    • Justification: This feature improves the product significantly because user gets to save their client’s weight history data in the storage system for future uses.
    • Highlights: This enhancement affects existing storage to be added in the future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it modifies the current client’s storage and required to new commands.
  • New Feature: Added tests for Model and Storage for Exercise Routines.
    • What it does: run automated checks for Model and Storage for Exercise Routines for this app to mitigate some bugs.
    • Justification: This feature improves the product significantly by mitigating any potential bugs.
    • Highlights: Testing has to be done on a case to case basis. Testings for storages are not simple and required an in-depth analysis of design alternatives.
  • New Feature: Added different commands like (AddRoutine and EditRoutine commands).
    • What it does: allows the user to add or edit Exercise Routines.
    • Justification: This feature improves the product significantly because user gets to add or change the exercise routines in the storage system for future uses.
    • Highlights: This enhancement affects existing storage to be added in the future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it modifies the current client’s storage and required to new commands.
  • Code contributed: RepoSense link

  • Project management:
    • Managed releases v1.3 (1 releases) on GitHub.
    • Managed milestones and issues on GitHub.
    • Managed work assignments for team members in general.
  • Enhancements to existing features:
    • Adding more error checks like addWeight Command where multiple weights can affect the graph.
  • Documentation:
    • User Guide:
      • Added documentation for the features add #62
      • Added documentation for the features addRoutine and editRoutine #148
      • Rearranging of commands for UG #193
      • Adding table for prefixes for Features #193
      • Add Menu Items subsection #193
    • Developer Guide:
      • Added Use case for add #67
      • Added Use case for addRoutine and editRoutine #117
      • Added Implementation for addRoutine and editRoutine #134
      • Update UML diagrams and descriptions for Storage and Model part of FitBook #145
      • Added Implementation for add and edit clients #206
      • Added Appendix for Challenges and future enhancements #206
  • Community: