Project: tCheck

tCheck is a desktop application that offers an integrated system to efficiently manage a bubble tea shop, of the (imaginary) brand T-sugar, by providing sales tracking, ingredient tracking and manpower management. It is optimized for Command Line Interface (CLI) users to update and retrieve the information more efficiently.

Given below are my contributions to the project.

  • Implementation: Implemented the IngredientBook’s storage component, which allows the users to save the data related to the ingredients in json format. tCheck is also able to load the data from json file when starting the application. (Related PRs: #92, #129, #130)
    • What it does: Allows the data related to the ingredients to be saved when the user exits the application, and the data will load into tCheck when the application starts again.
    • Justification: This implementation will allow the users to view the data related to the ingredients that is stored in tCheck the last time the user uses it. Thus, the user do not need to record the data manually each time he or she exits the program.
    • Highlights: In this implementation, if the user starts with an empty data file, the IngredientBook initialized will contain the six pre-defined ingredients, each with an amount of 0.
  • New Feature: Added the ability to list the ingredients that require the user to restock with the command i-restock. (Related PRs: #132, #234)
    • What it does: Allows the user to see the list of ingredients that are in shortage and should be restocked.
    • Justification: This feature enhances the user experience because without this command, a user would need to check through the list of ingredients to find the ingredients that are in shortage.
  • New Feature: Added the ability to find ingredients by keywords with the command i-find. (Related PRs: #234)
    • What it does: Allows the user to find ingredients that contain the keyword(s) in their names.
    • Justification: With this feature, our target users, who are fast typists, would not need to scroll down the ingredient list and check line by line to find the ingredients.
  • New Feature: Added the ability to reset all ingredients’ levels to zero with the command i-reset-all. (Related PRs: #71)

  • New Feature: Added a command, i-list, that allows the user to view the list of ingredients. (Related PRs: #73)

  • Code contributed: RepoSense link

  • Project management:
    • Managed the release v1.2.1 on Github
    • Created the label type.Story
  • Enhancements to existing features: Edited the help command so that it directs the user to the tCheck User Guide. (Related PRs: #61, #234, #151, #158,#166)

  • Documentation:
    • AboutUs page:
      • Updated my information in the AboutUs page of the project website. (Related PRs: #37, #39)
    • User Guide:
      • Updated the Quick Start section.
      • Added the user interface screenshot.
      • Added documentation for the features: i-list, i-find, i-restock and i-reset-all.
      • Did cosmetic tweaks to the existing documentation of the feature help.
      • Edited the organization of the Command Summary Table.
      • Added the FAQ section.
      • Related PRs: #61, #94, #116, #120, #129, #132, #162, #255, #278, #282
    • Developer Guide:
      • Added the logic diagram and updated the explanation under the diagram for the Logic component.
      • Updated a part of the storage diagram related to IngredientBook storage.
      • Added user profile under Appendix: Requirements.
      • Added instructions for manual testing (“Resetting all ingredients’ levels to zero” section) under Appendix: Instructions for manual testing.
      • Added implementation details for the feature i-reset-all.
      • Related PRs: #94, #104, #129, #234, #248, #278, #282
    • README:
      • Updated README. (Related PRs: #282)
  • Community:
    • PRs reviewed (with non-trivial review comments): #62, #145, #235, #251, #252, #289
    • Gave suggestions to teammates regarding the code quality aspect.
    • Participated in forum discussions: #26, #360, #382, #399