Nicole's Project Portfolio Page
Project: NutriGoals
NutriGoals is a desktop app that tracks a user’s diet and calorie consumption. By offering users recommendations on exercise and healthier eating options, NutriGoals also aids in the adoption of a healthy lifestyle.
Given below are my contributions to the project.
- New Feature: Added the ability for the user to view the profile created (Pull request #65).
- What it does: Allows the user to view the profile created.
- Justification: Every application that allows the user to set up a profile should allow the user to view the information keyed in previously.
- Highlights: This allows the user to check if the current information stored is correct.
- New Feature: Added the ability to calculate the user’s BMI (Pull request #65).
- What it does: Calculates the user’s BMI immediately after setting up a profile.
- Justification: This application aims to encourage healthy eating habits. The BMI is a useful indicator of the user’s health status.
- Highlights: This calculates the user’s BMI when the user sets up a profile or updates existing information.
- New Feature: Added the ability to suggest a recommended calorie intake for the user (Pull requests #67 and #107).
- What it does: Suggests an estimated recommended daily calorie intake so that the user can reach his/her ideal weight.
- Justification: The user can set a target calorie intake, but may not be aware of the amount of calories he/she should consume to reach his/her goal.
- Highlights: This allows the user to get an estimate of the amount of calories to consume in a day and complements the
target
command implemented.
- Code contributed: RepoSense link
- Project management:
- Enhancements to existing feature: Modify the design of the Help Window (Pull request #90).
- What is does: Includes information regarding the commands usage without having to open the user guide.
- Justification: The help window is meant to provide fast and easy access to the commands usages. Since the application is meant to be used without an internet connection, the help window should display basic information regarding the app’s usage.
- Highlights: Replaced the
copyButton
in the help window with a hyperlink that redirects the user to the user guide.
- Enhancements to existing feature: Wrote additional test cases for existing features.
- What it does: Tests the modified functionalities.
- Justification: Modifying the existing classes could introduce new bugs.
- Highlights: This enhancement made would help to detect bugs introduced after modifications.
- Enhancements to existing feature: Restrict the number of tags allowed for each food item (Pull request #57).
- What it does: Restricts the number of tags allowed to one.
- Justification: The tag is used to capture the meal type for each food item. The code base is modified to allow multiple food items with the same name and it would be more logical for each food item to be tagged once only.
- Highlights: Tag is now compulsory for each food item.
- Enhancements to existing feature: Modify the type of arguments required for the
EditCommand
(Pull request #39).- What it does: Modify the arguments needed for the
EditCommand
to suit the fields needed for each food item. - Justification: The fields for each food item have been changed, and it would be more logical to modify the arguments required for the
EditCommand
. - Highlights: Slight modification to suit a food item better.
- What it does: Modify the arguments needed for the
- Documentation:
- User Guide:
- Developer Guide:
- Add use cases and user stories.
- Add implementation details for
edit
,profile
andsuggest
features, together with activity, object and sequence diagrams.
- Community: