Project: LogOnce

LogOnce is a one-stop logistics tracker app for clerks to monitor shipping statuses of all clients and perform common logistics operations. It is optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI).

Given below are my contributions to the project.

  • New Feature: GUI forms and panels for all CRUD operations : Pull requests #81, #83, and #159
    • What it does: Allows the user to view detailed information about clients and orders from within the GUI. In addition, it allows the user to create new clients and orders using GUI forms, and also allows the user to edit the information of clients and orders.
    • Justification: This feature improves the product significantly because it vastly increases the ease of use for both experienced and new users. New users can use the application immediately without needing to learn a single line of code, while experienced users are given the additional option of using a GUI to perform operations. In addition, it presents information in a clearer and more intuitive manner, and makes it more accessible to everyone.
    • Highlights: This feature required one to learn more about JavaFX events in depth in order to reduce coupling in the code. It also required some thought about the ideal GUI workflow and layout that would be the most intuitive for end-users. This was also quite time-consuming as the forms and panels created had to cover the entire CRUD functionality of the application, unlike other projects where the UI capabilities were much more limited.
    • Credits: GUI layout was made in SceneBuilder.
  • Code contributed: RepoSense link

  • Project management:
    • Helped manage deadlines for deliverables throughout the entire project cycle.
    • Helped to manage the issue tracker for the entire project cycle.
  • Enhancements to existing features:
    • Refactored existing Person class to Client : #41
    • Augmented Client and Order with additional fields : #57
    • Reworked the GUI into a new layout : #45
    • Wrote additional tests for existing features to increase coverage from 50% to 54% : #174
  • Testing:
    • Added tests for Order, OrderCommand, OrderCommandParser and JsonAdaptedOrder : #174
  • Documentation:
    • User Guide:
      • Added documentation for the entire GUI workflow : #166
      • Added documentation for the features update-order and update-client : #161
      • Performed bug fixes for the existing documentation of features done, order : #164
    • Developer Guide:
      • Added implementation details of the GUI forms and information panels : #161