Jun Da's Project Portfolio Page
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.
- Managed releases
- Enhancements to existing features:
- Adding more error checks like addWeight Command where multiple weights can affect the graph.
- Documentation:
- User Guide:
- Developer Guide:
- Added Use case for
add
#67 - Added Use case for
addRoutine
andeditRoutine
#117 - Added Implementation for
addRoutine
andeditRoutine
#134 - Update UML diagrams and descriptions for Storage and Model part of FitBook #145
- Added Implementation for
add
andedit
clients #206 - Added Appendix for Challenges and future enhancements #206
- Added Use case for
- Community:
- PRs reviewed (Not all are added: #165, #158, #156, #146, #142, #141, #139, #138, #137, #135, #133, #132, #131, #130, #129, #124, #115, #114, #113, #112, #108, #107, #106, #99, #95, #94, #94, #91, #89, #88, #85, #82, #81, #75, #58, #48
- Contributed to forum discussions #109, #114, #150
- Reported bugs and suggestions for other teams in the class (examples: PE-DRY-RUN)