Project: StoreMando

StoreMando is an integrated platform fully customised for residents in households, residential colleges and halls, to help users manage their items effectively and efficiently. StoreMando allows users to keep track of their items’ whereabouts, quantities and expiry dates with a few simple commands. Furthermore, StoreMando also comes with an inbuilt reminder feature to help users keep track of items that are expiring. All items’ information is encapsulated clearly on our simple and clean Graphical User Interface (GUI). Our application is optimised for use via the Command Line Interface (CLI) and if users have quick fingers, StoreMando can help users manage their items in the blink of an eye.

Given below are my contributions to the project.

  • Code contributed: RepoSense link

  • Refactoring:
    • Refactored Name to itemName. (Pull request #53)
  • New Feature: Added reminder feature to display expiring items in the list. (Pull request #98) (Pull request #131)
    • What it does: This feature allows the user to filter items in the displayed list based on the difference of their expiry date from today, to remind the user what items are expiring soon. It also gives the user the option of filtering it by days or weeks.
    • Justification: This feature improves the product significantly because a user can view the items that are expiring within the given specific amount of day. Since StoreMando is an application that is used to store a large number of items, this feature can help to display all the expiring items to the user.
  • Enhancements to existing features:
    • Modified the List feature to filter out items in the specific location (Pull request #73)
  • New GUI: Added the expiring and expired table. (Pull request #215) (Pull request #304) (Pull request #323)
    • What it does: This feature allows the user to have an overview of all expired items and item that is expiring within 7 days.
    • Justification: This feature improved the product significantly because it helps the user get an overview of the number of items that are expiring or has expired. This GUI pairs well with the reminder and sort command. After launching the application, the user will be notified by these tables about the number of items that have expired or are expiring. He/she can use the reminder or sort command to locate these items so he/she can remove the item or stock up the item.
    • Highlights: This GUI implementation is a challenging task because Javafx is a new programming language for me and there weren’t many resources I can refer to. Everything that was used to implement the expiring and expired tables is learned from the Internet. Furthermore, the API that was used to create these tables (TableView) wasn’t part of AB3 or our Individual Project. Hence, the implementation of this GUI learned from scratch, and also along the way, I encountered many problems regarding this TableView GUI.
  • Enhancement to GUI
    • Color code the expiry date field (Pull request #160)
    • GUI styling - Resizing of scroll bars, result display and panel header size. (Pull request #281)
    • GUI theme - Change the color themes of the expiring and expired table. (Pull request #304)
  • Test
    • Add Reminder feature’s test (Pull request #98) (Pull request #131)
    • Add List feature’s tests (Pull request #73) (Pull request #122)
    • Add Find feature’s tests (Pull request #122)
    • Add tests to uncovered methods and classes (Pull request #305)
  • Documentation:
    • User Guide:
      • Edit initial List user guide (Pull request #73)
      • Add reminder feature (Pull request #98)
      • Update reminder feature (Pull request #174)
      • Modify and format User Guide (Pull request #174)
    • Developer Guide:
      • Add glossary (Pull request #42)
      • Add use cases (Pull request #44) (Pull request #98)
      • Add sequence diagrams, activity diagrams and implementation for edit and help command (Pull request #214)
      • Update the UiClassDiagram (Pull request #322)
    • About Us:
      • Update Chew Wei Hao’s part. (Pull request #13)
  • Addtitional Contributions
    • HotFix a bug in Quantity class where the input exceeds Long.MAX_VALUE (Pull request #195)
    • Change our success messages into a more meaningful message. (Pull request #282)
    • Add javadocs to undocumented methods and classes (Pull request #335)
  • Community:
    • PRs reviewed (with non-trivial review comments): #75 , #76 , #93 , #101
    • Reported bugs and suggestions for other teams in the class: