Chew Hoa Shen's Project Portfolio Page
Project: Archangel
Archangel is a desktop address book application used for managing patient data and appointment scheduling for medical professionals. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC.
Given below are my contributions to the project.
- New Feature: Added the basic function for viewing appointments in the AddressBook - listall appointment command.
- What it does: Allows the user to view all the appointments stored in the AddressBook.
- Justification: This is a fundamental and necessary feature for our product as Archangel is primarily an appointments scheduling application.
- Highlights: This feature is essential for the viewing of Appointments in Archangel and set a standard for all following viewing-related features.
- New Feature: Added the ability to set Appointments as completed/missed - complete, new-misses appointment command.
- What it does: Allows the user to set an Appointment as completed and missed.
- Justification: The ability to mark appointments as completed ans missed increase the variety and quality of filtering options we can implement.
- Highlights: This feature is essential for the implementation of filters like today, weekly, upcoming and completed.
- New Feature: Added the ability to filter appointment list - list, completed, missed appointment command.
- What it does: Allows the user to view the appointments stored in AddressBook based on their completed and missed status.
- Justification: These features enable better appointment organisation, which is one of the focuses of Archangel.
- New Feature: Added the ability for Archangel to automatically check for newly missed appointments - TimerThread.
- What it does: At intervals of 1 minute, scans through the appointment list and labels past uncompleted appointments as missed.
- Justification: This feature improves the user experience significantly because it removes the need for users to manually find and label missed appointments.
-
Code contributed: RepoSense link
- Project management:
- In charge of implementing AppointmentList, and various related filters and features.
- In charge of implementing appointment test utilities and code coverage of various appointment features.
- In charge of automating the interactivity between Appointment time, isMissed and isCompleted parameters.
- Ensure user readability for appointment related sections in UG.
- Enhancements to existing features:
- Wrote tests and test utilities for Appointment related commands. (Pull request #55)
- Documentation:
- User Guide:
- Developer Guide:
- Community:
- Reported bugs and suggestions for other teams. (Example 1)