Project: Trackr

Trackr is a desktop tracking application used to keep track of order, menu, suppliers and tasks. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.

Given below are my contributions to the project.

  • Added Menu Model including all field classes #177
  • Updated Storage related classes to allow for the storage of Menu objects #177
  • Completed add, delete, edit, clear, list and find commands for Menu objects #177
  • Completed edit and find commands for Order objects #134
  • Contributed to Calculate Menu Item Profit feature #177
    • Justification: Allow users to view their profit for each item on the menu.This sets up the foundation for the Homepage Profit feature that allows to view total profit from all orders.
  • Maintain code quality - Refactor methods to obey OOP principles #281
  • Improve test coverage and fixed test cases. #288 #140
  • Updated and fixed find_order related bug #291 and Menu related bugs #235 #188
  • Contributed to the demo video.

  • New Feature: Implemented a Calculate Menu Item Profit feature to get profit from item cost and item selling price.
    • What it does:
      • Allows users to see the profit of their item after adding their menu item to the menu.
    • Justification: This feature allows home business owners to see their profit for each menu item at one glance.This feature allows the total profit seen on the homepage to work as expected.
    • Highlights: Users are able to see the profit from each menu item without calculating manually.
  • Code contributed: RepoSense link
  • All reused code are adapted from the AB3 code base (both functional and test code).
    • The code could be refractored out to be a more standard format for repeated use.
  • Project management:
    • Managed project documentation (UG & DG)
      • Checked and updated UG to match with actual product #274
    • Helped to do minutes during meetings and send important information into Telegram group chat.
    • Assisted in assigning Issues #146 #143
  • Documentation:
    • User Guide (UG):
      • Drafted out documentation for some order features #142 and all menu item features.#176
      • Updated the introduction for the user guide #176
      • Helped reorganise the guide for commands with similar functionality #176
      • Fix documentation bugs for UG features to match real-life functionality.#168
    • Developer Guide:
      • Added and update use cases #31 #90 #292
      • Added and updated UML Class Diagram and documentation for Order and Menu #142
      • Added documentation and activity diagram for “Add” functionality features #168
      • Introduced a “Why we implemented this way” portion for features #176
    • Update Javadocs #287
  • Community:
    • PRs reviewed (with non-trivial review comments): #193 #267
    • Communicate professionally with Professor Damith on Outlook to change UG details
    • Clarify questions on behalf of the team on MSTeams with Tutor.
    • Communicate thoroughly with team members to reduce double work, fix bugs together when needed and raise doubt in group chat.
  • Tools:
    • Java 11, JavaFx, Jekyll