Project: Sellah

Overview

Sellah is a desktop application written in Java for online sellers who prefer CLI over GUI. Sellah helps them to keep track of their products and the contact information and orders of their customers.

Contributions

Given below are my contributions to the project.

  • Code contributed: RepoSense link

  • New Feature: Added the ability to add products.
    • What it does: allows the user to add a new product with compulsory name and unit price, and an optional quantity.
    • Justification: This feature improves the software significantly because this is a basic function that helps users to keep track of their products.
    • Highlights: This enhancement affects existing commands and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands.
    • Pull requests: #78, #80, #98, #101
  • Enhancements to existing features:
    • Updated the original add command, changed it into add client command to differentiate it from add product command (Pull requests #77, #79, #166, #175)
    • Updated attributes in Client, so that it contains a client’s name, phone number, email, address and the orders he made; created an Order class (Pull requests #97, #160, #171, #172)
    • Wrote additional tests for existing features and new features to increase coverage (Pull requests #111, #115, #210, #214, #215, #229, #235, #236, #289, #322, #331)
  • Documentation:
    • User Guide:
      • Added documentation for the features add client and add product #39, #45, #176, #227, #301
    • Developer Guide:
      • Added use cases for add client/product and statistics features #49, #306
      • Added implementation details of the add client and add product features #179
      • Added instructions for testing for add client and add product features #334
  • Contributions to team-based tasks:
    • User Guide:
      • Updated screenshots of all the features in the User Guide #338
    • Developer Guide:
      • Updated sequence diagrams for all features after changing code structure #183
      • Corrected mistakes in document for all features #184
    • Hosted some of the online team meetings
  • Community:
    • Contributed to forum discussions (examples: #24)
    • Reported bugs and suggestions for other teams in the class (examples: 1, 2, 3)