Project: LoyaltyLift

LoyaltyLift is a desktop application designed for small business owners to manage their customers and orders efficiently, allowing you to improve customer relations and increase customer loyalty.

Given below are my contributions to the project.

  • Code contributed: RepoSense Link

  • New Feature: Added viewc and viewo commands (#28, #92)
    • What it does: When the user uses viewc / viewo command or clicks on the customer / order in the list, the information panel will display the customer or order’s information.
    • Justification: As there are many details to a customer or an order, a bigger view allows proper display of information for the user to read the information easily.
    • Highlights: This allows for additional information to be shown such as an order history of a customer. This also sets up for other commands (e.g. edito, markc), to also display the customer or order in the information panel automatically.
  • New Feature: Added the ability to assign a customer as an individual or enterprise (#33)
    • What it does: Adds an attribute to Customer to allow the user to set that a Customer is an individual or enterprise with addc and editc.
    • Justification: As the user may have customers that are organisations instead of just people, this helps users to categorise them correctly.
  • New Feature: Added storage for Order (#50, #56)
    • What it does: Whenever an Order is created, updated or deleted, the application automatically saves order list into the local storage.
    • Justification: Similar to how Customer data are saved, Order data is saved as well so the data is not lost on application close.
  • New Feature: Added Status / Progress History for Order (#75)
    • What it does: Allows the user to view how an Order has progressed as the status changed.
    • Justification: As an order progresses from Pending, Paid and onwards, this allows the user to refer to the history of an order. My changes provide the Model and Storage implementation for commands such as advo, revo and cancelo to work with.
    • Highlights: This required analysis of different design alternatives. Among the alternatives, the implementation used was chosen for extensibility, in the future, we expect that the user may want to more information such as notes to each progress update or revert.
  • Enhancements to existing features:
    • Added UI to view orders that belong to a customer in the information panel for a customer
    • Revamped the default view of the UI
      • Include a tab to switch between customer and order list and an information panel to display a customer or order’s information
      • Styling with CSS with a defined color scheme to enhance the aesthetics for the UI
  • Project management:
    • Managed releases v1.1 - v1.4 (4 releases) on GitHub
    • Updated README.md and site-wide settings
  • Documentation:
    • User Guide:
      • Added viewc and viewo command #82, #102
      • Added and updated Introduction, Tutorials & Frequently Asked Questions #102, #202
      • Updated language to be more user-friendly #180
      • Organised Features, Command Summary & FAQ into sections for improved readability #102, #202
      • Added & updated most screenshots #180
    • Developer Guide:
      • Updated details in Logic component #160
      • Added implementation details for markc and unmarkc #160
      • Added implementation details for an Order’s status attribute #82
      • Added planned enhancements for feature flaw where customers with the same names cannot be added #160
      • Added manual testing instructions for order commands #185
      • Updated user stories #160
  • Review/mentoring contributions:
    • PRs reviewed (with non-trivial review comments): #51, #89, #200, #179
  • Community:
    • Helped others on the forum
    • Identified 11 bugs for CS2103T-T11-3 during PE-D