Project Portfolio Page for Julio

Project: AutoM8

AutoM8 is a desktop app for an auto repair shop, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, AutoM8 can get your auto repair shop management tasks done faster than traditional GUI apps.

Given below are my contributions to the project.

  • New Feature: Added the ability to undo/redo previous commands.
    • What it does: Allows the user to undo all previous commands one at a time. Preceding undo commands can be reversed by using the redo command.
    • Justification: This feature enhances the application significantly because a user might make mistakes in what command he or she keys in. It should not be needed by the user to do different commands to rectify each mistake. Hence, this feature provides a convenient way to rectify those errors.
    • Consideration: This feature required numerous design and usability considerations due to how familiar most users are with this feature. In addition, the implementation as well required an in-depth analysis of design alternatives to determine the most optimal solution for this project.
    • Credits: zhixianggg - I reused and adapted some of his code to implement the UndoRedoStack. bakano98 - I reused and adapted some of his code to implement the undo redo test. 9fc70c892 - I reused and adapted some of his code to implement the undo redo test.
  • New Feature: Added the totalappointment command.
    • What it does: Finds the number of appointments on a specified date.
    • Justification: This feature enhances the application significantly because users can keep track of the number of appointments they have on any single date.
    • Consideration: This feature required in depth understanding of localDatesTime API to determine the most optimal solution for this project.
    • Credits: stackoverflow - I reused and adapted the code to check if a date is within a certain range.
  • Code contributed: RepoSense link

Project Management:

  • Set up team repo on github.
  • Helped manage weekly milestones (ensure closing of issues, and milestone wrap-ups).

  • Enhancements to existing features:
    • Fixed Bugs relating to undo and redo feature (Pull requests #91)
    • Added undo command test (Pull requests #139)
    • Added redo command test (Pull requests #141)
    • Added undo redo command test with shop api (Pull requests #169)
  • Documentation:
    • User Guide:
      • Added documentation for the features undo, redo and totalappointment #117
    • Developer Guide:
      • Added implementation details of the undo and redo feature (PR #52).
      • Added UML diagrams of the undo and redo feature (PR #85)
      • Added implementation details of the totalappointment feature (PR #102).
      • Added Product Scope, User Stories, Glossary and NFRs (PR #34)
      • Added UML diagram of the totalAppointment feature (PR #159)
  • Bugfixes
  • Community:
    • PRs reviewed (with non-trivial review comments): #88, #73
    • Reported bugs and suggestions for other teams in the class (examples: #90, #86