Project: TrackO

TrackO is a desktop application that helps small home-based business owners manage their orders and inventory efficiently in the form of an integrated solution built using Java with around 15 kLOC. The user interacts with the application via a CLI, and the application responds with its GUI, created with JavaFX.

Summary of Contributions

:information_source: Note: A # followed by a number denotes the relevant pull request.

  • Code contributed: Click here for RepoSense Link.

  • Major Enhancement: Implement the UI of the application. — #82, #87, #111, #139, #192
    • What was done: Create a design draft, then implement it into the application with JavaFX.
  • More Features/Enhancements Added:
    • Implement the base model for java.tracko.model.item#58
      • What was done: Added the base code for Item (ItemName, InventoryList, Item, Description, Quantity classes) for the members to build on, utilizing object-oriented programming.
    • Implement the following commands: edito, listi, findi#68, #111
      • edito: Edits orders.
      • listi: Lists all the existing inventory items.
      • findi: Finds existing inventory items that match certain keyword(s) inputted by the user.
    • Implement order completion status#104
      • What it does: Orders now have a completion status: paid or delivered.
    • Implement feature to calculate the price of an order’s list of ordered items#131
      • What it does: Implement methods to calculate the price of the customer’s ordered items.
    • Write test cases#100, #122
      • What was done: Implemented JUnit test cases for the following: EditOrderDescriptorTest, EditOrderCommandTest, EditOrderDescriptorBuilder, DeleteOrderCommandParserTest, DeleteOrderCommandTest, DeleteItemCommandTest, DeleteItemCommandParserTest, QuantityTest, DescriptionTest, ItemNameTest
      • Justification: Testing will reduce the chances of bugs occurring in the program.
  • Contributions to the UG:
    • Create and added layout diagram and edited screenshots for better user experience when reading the guide: Layout Diagram, Edited Screenshots#212
    • Made descriptions for edito, listi, findi, help#41, #111, #147
    • Fixed UG bugs due to Markdown syntax issues — #135, #216
    • Added Symbols & Syntax section — #225
  • Contributions to the DG:
    • Added use cases for the Developer’s Guide — #48
    • Made UML sequence diagrams and implementation details for edito, findi, listi#138
    • Add manual testing guide for help, clear, exit, Editing the data file and Starting with missing/corrupted data files#225
  • Contributions to team-based tasks:
    • Enabling assertions. #184
    • Released initial .jar file for v1.3.
  • Review/mentoring contributions:
    • Provide detailed descriptions for personal contributions — #82, #111
    • Fix documentation bugs that are usually related to Markdown formatting issues — #70, #135, #146
    • Reviewed and offered suggestions for fellow teammates’ pull requests.
  • Contributions beyond the project team:
    • Assist another project team in detecting bugs and offered tips and/or solutions to fix them: Practical Exam Dry Run
    • Assist other teams’ group members in UI implementation by giving helpful tips and offer suggestions for overflow bugs and rendering issues: Florentiana Yuwono and John Russell Himawan (names are added with their consent).