Mustafa’s Project Portfolio Page

Mustafa’s Project Portfolio Page

Project: LifeTracker

LifeTracker is a desktop application used for encouraging users to lead a healthier life by tracking their meals, exercises and net calorie intake. The user interacts with it using a CLI. Given below are my contributions to the project.

General

LifeTracker

  • Created the main executable LifeTracker which initialises the various databases upon first starting the programme and continuously takes in and executes the user input thereafter.

Command Parser

  • Created the class CommandParser for parsing of user input to decide which command needs to be executed by the programme.

Commands

I worked on some commands which help the user to input the relevant data into the CLI so that it can be tracked and recorded into the app’s databases. Some examples are as follows:

Add Exercise Command

  • Handled the AddExerciseCommand for users to add exercise into the exercise database. Handles the parsing and exceptions for fields like the exercise name, description, date, calories etc.

    Delete Command

  • Handled the DeleteCommand for users to delete a meal or exercise from their respective databases.

    Track Command

  • Handled the TrackCalorieCommand for users to track their overall history or see their history within some specified dates.

    List Command

  • Handled the ListCommand which enables users to see all meals/ foods/ exercises in the current storage database.

Entities

Exercise

  • Created the Exercise entity to be used which stores values in its fields for the exercise name, its description, the calories burnt and the date it was performed.

Unit Testing

  • Wrote JUnit tests for the following commands: DeleteCommand, TrackCalorieCommand, FilterCaloriesCommand, ListCommand, ExitCommand

Contributions to Developer Guide

  • Created the class diagram for the Command components
  • Created sequence diagrams for AddMealCommand and DeleteCommand
  • Added documentation for above diagrams and execution

Contributions to team-based tasks

  • Created the logger which logs events like when the user started the app, meals and exercises added, when exceptions occurred.
  • Created a local log file which is written to by the logger mentioned above.

Code Contributed

RepoSense Link

Project Management

  • Helped to fix bugs discovered in our Team’s product during user testing.
  • Managed milestone releases and assisted in distributing and keeping track of issues via issue-tracker

Enhancements to existing features

  • Combined the deletion of meals and exercises into a single command since they used similar functionality
  • Implemented tracking within specified dates instead of just seeing all the history at once
  • Implemented a way for users to see their net calories burnt and consumed on a date when they add a meal or exercise