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: Implemented ListXCommands.
    • What it does: Displays the entire list of Customers, Vehicles, Services, Appointments, Technicians and Parts in the app along with their IDs and information overview in the list cards.
    • Justification: This feature provides users with a simple and efficient way to view all available elements in the app. It reduces the time and effort required to navigate the app and search for specific elements.
    • Highlights: The ListXCommands feature enhances the app’s usability and accessibility by allowing users to view all available elements in one place.
  • New Feature Enhancements: Added GUI integrations/behaviours for all features in the app
    • Justification: The addition of GUI integrations/behaviors is an obvious need for users to use/interact with all the functions we implemented for the AutoM8 application. By incorporating graphical user interface elements that align with the underlying command logic, we can provide users with a more intuitive and user-friendly experience, allowing them to easily access and utilize all features of the app.
    • Highlights: The new and enhanced GUI integrations/behaviors allow for a more seamless and efficient user experience, with all features accessible through a unified interface.
  • New Feature: Assisted with implementing ViewX
    • What it does: Allows the user to view more information about X where X is for example Customer, Technician, Parts etc.
    • Justification: AutoM8 has listX to show the names of items and their related ID. Showing all information from list may be crowded, so list is to see the general ID and name, whereas view shows the complete information of that particular item.
  • New Feature: Added a Date Status for Appointments that is based on current date time
    • What it does: Allows the user to know whether their appointments with customers are NOW, UPCOMING or PASSED based on the current date the user opened the app
    • Justification: Enhances user experience and improves scheduling efficiency by providing an easy and intuitive way to prioritize appointments.
    • Highlights: The UI has tags which are color coded and represent the date statuses: NOW, UPCOMING or PASSED. I also added a sort that sorts the appointments by date statuses by default for users to easily see the important appointments.
  • Code contributed: RepoSense link

  • Project management:
    • Issue tracker management for v1.2 - v1.4 (3 releases) on GitHub
    • Assisted in weekly milestone management (Ensure we have completed/submitted weekly deliverables)
    • Assisted with overall team management
  • Enhancements to existing features:
    • Revamped the GUI design and color scheme (Pull requests #93)
  • Documentation:
    • User Guide:
      • Added documentation for all features #32
      • Ensure UG is up to date to date with current implementation for most features: #114
      • Fix UG issues from PE-D: #145
    • Developer Guide:
      • Added implementation details of the Update Service priority feature: #88 (deprecated/not implemented)
      • Added implementation details of the Find, List, Sort and View Commands of v1.4: #163
  • Community:
    • PRs reviewed (with non-trivial review comments): #150, #95
    • Reported bugs and suggestions for other teams in the class (examples: 1)
    • Total PRs reviewed: 25