Project: Medimate

MediMate (MM) is a cross-platform desktop application for medical professionals, specifically for private doctors or their receptionists, who are experienced with computers and currently using paper records to store patient information. With this solution, they will be able to better manage their patient data, including updating, accessing and adding new patient details easily. It is 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, MM can get your contact management tasks done faster than traditional GUI apps.

Given below are my contributions to the project.

  • New Feature: Added the ability to add a new patient through a pop-up window.
    • What it does: Allows the user to add a new patient by clicking on the add button and inputting information in corresponding text boxes.
    • Justification: This feature improves the product significantly because a user can make mistakes while dealing with long commands and the app should provide a convenient way to simplify them.
    • Highlights: This enhancement makes a good use of the existing command line version of the adding function and integrates it to the GUI. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing UI.
    • Credits: Reused code from AY2223S1-CS2103T-T17-1 and AY2223S1-CS2103T-W11-3
  • New Feature: Added the ability to add a new appointment through a pop-up window.
    • What it does: Allows the user to add a new appointment by clicking on the appointment button and inputting the date and time of the appointment.
    • Justification: This feature improves the product significantly because a user can make mistakes while dealing with long commands and the app should provide a convenient way to simplify them.
    • Highlights: This enhancement provides a new pop-up window specially designed for inputting appointment time and buttons for quick adding of appointments, which is quite user-friendly. It saves time and reduces complexity for users.
  • New Feature: Added the ability to check availability of the doctor on the selected date through a pop-up window.
    • What it does: Allows the user to check availability by clicking on the appointment button and inputting the date on which the availability needs to be checked.
    • Justification: This feature improves the product significantly because a user can make mistakes while dealing with long commands and the app should provide a convenient way to simplify them.
    • Highlights: This enhancement provides a new pop-up window specially designed for inputting the availability checking date and buttons for quick checking, which is quite user-friendly. It saves time and reduces complexity for users.
  • New Feature: Added the ability to display the detailed information of the selected patient through a split pane on the right hand side of the main window.
    • What it does: Allows the user to see the detailed information of the patient through the split pane on the right side of the main window.
    • Justification: This feature improves the product significantly because merely using person cards to display patient information is not a good way since a person card has limited space. The app should provide a better way to display details.
    • Highlights: This enhancement provides a split pane to show the detailed information of the patient and also a document list that contains all documents related to him or her, which is quite user-friendly. It saves time and reduces complexity for users.
  • New Feature: Added the ability to list all patients by name.
    • What it does: Allows the user to list all patients by their names.
    • Justification: This feature improves the product significantly because the patient list can be quite messy without a specific order and the app should provide a convenient way to sort all patients.
    • Highlights: This enhancement provides a very convenient way to sort all patients and let the list become neater. It saves time and reduces complexity for users.
  • Code contributed: RepoSense link

  • Project management:
    • Managed issues in release v1.1 - v1.4 (4 releases) on GitHub
  • Enhancements to existing features:
  • Documentation:
    • User Guide:
      • Added documentation for the feature list_name (Pull requests #183)
    • Developer Guide:
      • Added design details of the UI component (Pull requests #262)
      • Added acknowledgement (Pull requests #351)
      • Added Use Cases for listing by name, making appointments, checking availability, etc (Pull requests #351)
  • Tools:
    • IntelliJ IDEA CE
    • Source Tree
    • Plant UML
    • SceneBuilder