Jacob Pang's Project Portfolio Page
Project: App-Ointment
App-Ointment is a patient appointment management software adapted from AddressBook - Level 3, which is a desktop address book application used for teaching Software Engineering principles. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 19 kLoC.
Given below are my contributions to the project.
-
Code contributed: [RepoSense] (https://nus-cs2103-ay2021s2.github.io/tp-dashboard/#breakdown=true&search=jacob-pang)
- Architecture: Added appointment-variant features
- Implemented the defining properties of an appointment: connection between patients and doctors, and non-conflicting.
- Implemented timeslots with flexibility to be defined by duration or specific date-time.
- Implemented an appointment schedule storing created appointments sorted by starting time and ensures no conflict between appointments.
- Implemented appointment-variant storage classes.
- Modified
Model
andLogic
to execute appointment-related commands and tasks. - Highlights: the
Appointment
implementation sets the foundation for the app and subsequent features, requiring an in-depth analysis of the application workflow and logic.
- Architecture: Added polymorphism into person-features
- Made
Person
an abstract class in order to implementedPatient
andDoctor
derived classes. - Added generics into person-dependent
Model
,Storage
andLogic
implementations to accept extensions of thePerson
class. - Justification: abstracts shared attributes between
Patient
andDoctor
, reducing duplication of code and focused the design of collection-typed classes such asUniquePersonList
andAddressbook
to act only onPerson
definitive characteristics. - Highlights: eases the implementation of
Doctor
in v1.3
- Made
- New Feature: Added command for adding appointments.
- Enables the user to create an appointment based on existing patient and doctor records.
- Designed to allow the user to specify either the duration or the end time of the appointment for flexibility.
- Project management:
- Documentation:
- User Guide:
- Added documentation on
add-patient
,add-doctor
andadd-appt
features.
- Added documentation on
- Developer Guide:
- Added appointment diagram under architecture overview.
- Added user stories.
- Added the use cases on
add-patient
,add-doctor
andadd-appt
features.
- User Guide:
- Community: