Neo Soon Keat'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: New help command to provide updated help-information specific to the DietLAH! product.
    • What it does: on first launch, shows the help window with common tasks. On user command help, it shows the same text.
    • Justification: As there are many implemented commands in the application, we provide the most relevant subset to get users started. Users may refer to the User Guide if they need more specific help.
  • New Feature: Updated Storage to manage storage of user with new attributes
    • What it does: Manages the saving and loading of the user object with varying attributes (e.g. BMI, food list, selected diet plan)
    • Justification: This feature allows the application to save the user object in memory at the time the application was running and load it from the disk so that the state is restored. There were some difficulties faced here, as the original AddressBook was meant to store multiple different Persons (or Users), whereas in this case we are only storing the information of a single user, thus some changes had to be done to the Jackson-templates.
  • New Feature: Implemented model of User and related-objects (e.g. Bmi, Age, Gender) that allows corresponding information to be stored and computed.
    • What it does: Provides the base model that corresponds to the actual user of the application. Also provides base calculation for how the Bmi will be used in the calculation of diet plan recommendations.
    • Justification: Allows for OOP-implementation of the User object and all related objects of further features.
  • Enhancements to existing features:
    • Updated the UI to match the intended design.
  • Project management:
    • Managed releases v1.2.1, v1.3 and v1.4 on GitHub
    • Keep track of weekly deliverables on CS2103 module website and ensure that submissions were timely
  • Documentation:
    • User Guide:
      • Added documentation for the introduction and features food_intake_query and food_intake_add #20. Also added on-boarding instructions and kept the command table summary up-to-date.
      • Did cosmetic tweaks to existing documentation of features clear, exit: #74
    • Developer Guide:
      • Added NFRs to the application.
      • Documented User object portion of the code.
      • Added appendixes for manual testing and effort.
      • Updated Ui diagram.
    • Website:
      • Updated various placeholders and leftovers from AB3 on the About Us, GitHub index and readme pages.
  • Contributions to team-based tasks:
    • Set up the GitHub team org and repo.
    • Updated documentation and config for change in product (PRs #23, #93).
    • Set up tools (e.g. CodeCov and Gradle) (PR #2).
    • Set up and maintained the issue tracker with required labels
  • Community:
    • Contributed to forum discussions (examples: 1, 2, 3, 4)
    • Reported bugs and suggestions for other teams in the class (examples: 1, 2, 3)