Hamada Masahiro - Project Portfolio Page

Hamada Masahiro - Project Portfolio Page

Overview

Our project, LifeTracker, is a calorie tracker CLI program. It allows the user to record down their daily net calorie gain, where the user can input the meals he has consumed as well as the exercises that he has done.

In doing so, the user can better manage his daily calorie gain in order to meet their particular needs.

Given below are my contributions to the project.

Summary of Contributions

Code Contributed

RepoSense

Commands

Our project implements a variety of command which allows the user to input and keep track of their information via the CLI. They form the backbone of our project, and it is the key to it functioning smoothly. Below are the list of commands I have worked on.

view command: Allows the user to view their information.

  • Implemented the code to allow users to view their information

update command: Allows the user to update their information stored.

  • Added methods to allow update command to handle updates to name, age and gender

help command: Allows the user to view a help menu that gives them a quick guide on how to use the program.

  • Abstracted print statements into UI

Entity

user entity: The entity that initialises all the user’s information.

  • Expanded the information that the entity holds to include age and gender
  • Implemented getter and setter methods for newly added information
  • Modified calculateCaloricNeeds method to factor in age and gender

Contribution to team-based tasks

  • Created and implemented the view command to allow users to view their information
  • Enhanced view and update commands to allow for better user experience

Unit Testing

  • Wrote JUnit tests for the following commands: ViewUserCommand, UpdateUserCommand
  • Wrote JUnit tests for the following entities: User

Enhancement to existing features

  • Modified view command to be able to take in one-liner inputs from the user to view their information
    • Shortens the process of user viewing their information
  • Modified update command to allow names to be longer than one word.
    • Allows for freedom of choice in names for user.
  • Modified update command to be able to take in one-liner inputs from the user to view their information
    • Shortens the process of user updating their information

Project Management

  • Managed release v2.0 on GitHub
  • Managed release v2.0c on GitHub

UG/DG

  • Added the introduction to the UG as well as a framework of explanation for the other members to build off
  • Added documentation for the view command and update command in user guide.
  • Added Sequence Diagrams and explanation for view and update command in developer guide.
  • Added explanation of program and user stories