Project: CheckMate

CheckMate is designed to streamline the process of room bookings by hotel employees. With a Graphical User Interface (GUI) that provides the necessary information needed at a glance, and the application being optimised for use via a Command Line Interface (CLI), we have combined elegance and efficiency when it comes to the process of room booking by hotel receptionists.

Given below are my contributions to the project.

  • New Feature: Undo Command Integration for Deletions
    • What it does: Introduced an ‘Undo’ command enabling users to revert prior deletions, regardless of the fact if they were single or mass deletions. A record of the last 5 sets of deletions are kept until the program is closed.
    • Justification: This feature offers users a safety net, allowing them to rectify unintentional or erroneous deletions, thereby improving the overall user experience by ensuring data integrity and minimizing mistakes.
    • Highlights: The integration of the ‘Undo’ functionality deeply impacts the system’s command structure, influencing both the current and forthcoming deletions. Extensive consideration of various design alternatives was undertaken to ensure seamless integration. Implementation was intricate, necessitating alterations in the existing command architecture.
  • Code contributed:
  • Project management:
    • Added on to the UI Mockup to help guide the team on how to proceed ahead. I modified the UI to make it look more striking and appealing while not straining the eyes of the viewers. Added and a pop up window to display user-related details instead of displaying them in the main window to make the Ui look more seamless. (Pull request #184).
    • Resolved conflicts arising from differing opinions on project architecture, leading the team to a consensus that optimized performance and maintainability.
    • Made critical decisions during feature prioritization, considering user feedback and team resources to ensure the project’s alignment with stakeholder expectations.
  • Enhancements to existing features:

    • Mass Delete Functionality Addition to Delete Command:
      • Integrated a mass delete feature into the delete command, enabling users to remove multiple entries or perform bulk deletion operations. This addition significantly streamlined the process for managing data within the application. (Pull requests: #175)
    • Integration of Undo Command:
      • Implemented an ‘Undo’ command system-wide, enabling users to revert previous actions, including deletions, one step at a time. The ‘Redo’ command was also introduced, allowing users to reapply actions that were undone. This addition contributed to an enhanced user experience by providing a safety net for command reversals. (Pull requests: #191)
    • User Interface (UI) Overhaul:
      • Conducted comprehensive UI enhancements to elevate the application’s visual and navigational experience. This overhaul brought about a new level of usability and aesthetics, aligning the app with modern design standards. Changes included restructured layouts, improved user interaction elements, and enhanced visual appeal. (Pull requests: #184)
    • Code Skeleton Extension and Refactoring:
      • Expanded the code skeleton by refactoring existing packages and restructuring the codebase. This involved optimizing the structure of the code to enhance scalability, maintainability, and code readability. Refactoring efforts included improvements in the organization of files and the architecture of the application, paving the way for easier future development and expansion.
  • Documentation:
    • User Guide:
      • Made the initial skeleton with team member’s particulars.
  • Community:
    • Contributed to forum discussions (#326)
    • Closed and Commented on Issues (Pull requests: #248)
    • Closed and Commented on PRs (Pull requests: #191)
    • Reported bugs and suggestions for other teams in the class (Pull requests: #175)
    • Reported 9 bugs for the team I was assigned to during PE-D and gave them suggestions as well.