Jason Lim Jian Shen's Project Portfolio Page
Project: DietLAH!
DietLAH! is a desktop diet-tracking application that uses CLI-based inputs to allow for typists to easily record their meals and track their weight-loss/gain journey.
Given below are my contributions to the project.
-
Code contributed: RepoSense link
- New Feature: Implemented the design of FoodIntake and FoodIntakeList models to facilitate food intake recording
- What it does: Models a food intake in the real world, to be used in the application to handle food intakes and the food intake list of the user.
- Justification: Based on OOP principles, allows for easier handling and storage of the FoodIntakes and FoodIntakeList.
- New Feature: Implemented
food_intake_add
,food_intake_update
,food_intake_delete
,food_intake_query
alongside Soon Wee- What it does: Lets the user record their daily food intake using
food_intake_add
(3 variants). Users can also update the nutrient values for existing food intakes usingfood_intake_update
and only the specified nutrient value(s) will be updated while the rest remain unchanged.food_intake_delete
deletes the specified food intake, and re-orders the duplicate count, if any, so that the count is always up-to-date.food_intake_query
lists the food intakes within the specified period. - Justification: The food intake is one of the core features of the macronutrients tracker and stores the user’s food intakes and is used by the progress calculator to calculate the progress of the user.
- What it does: Lets the user record their daily food intake using
- New Feature: Implemented food intake duplicate count enhancement
- What it does: Appends a duplicate count behind duplicate food intake names e.g. chicken rice, chicken rice #2
- Justification: Much like file names in macOS and Windows, when there are multiple food intake names with the same name, the user needs an intuitive way to identify them and allow them to quickly delete/update the specific food intake they want. We decided to not use the index for food and foodintake commands because we want the user to be sure of what they are updating, hence, a duplicate count is the easiest way to identify the food intake they are entering.
- New Feature: Updated Storage to store the list of FoodIntakes in the FoodIntakeList
- What it does: Allows for the saving and loading of food intake records from the .json file.
- Justification: This is required as we want our users to be able to save their food intake lists and regain them when they reopen the application.
- New Feature: Implemented part of
TemplateInitializer
alongside Soon Wee +reset
command- What it does: The TemplateInitializer initialises a set of default sample template data used during the first load or when the reset command is used. The reset command resets the data in the application to blank, or the provided sample data.
- Justification: When the user loads DietLAH! for the first time or without an existing data, sample data will be loaded to the application to give the user a feel of how it works and test the functionalities. Reset command: At any time, the user may wish to reset the data in the application to either the blank state, or to the sample data provided (e.g. to test out the application for the first time). This provides an easy way to do so, without having to manually edit the .json files which may be unfamiliar to some.
- Project management:
- Created issues for relevant issues and user stories and linked to relevant PRs
- Documentation:
- User Guide:
- Developer Guide:
- Contributions to team-based tasks:
- Raised issues and bugs related to certain features
- Feedback and approving of team members’ pull requests
- PED bug fixes
- Community:
- Several approved bug reports for other teams: https://github.com/AY2021S2-CS2103-W16-2/tp/issues?q=is%3Aissue+in%3Abody+jasaaanlim