Skip to content

Commit

Permalink
Merge pull request #405 from G13nd0n/master
Browse files Browse the repository at this point in the history
Update PPP
  • Loading branch information
G13nd0n authored Nov 12, 2024
2 parents 3cc16f4 + ee6b995 commit 804f5e7
Showing 1 changed file with 59 additions and 12 deletions.
71 changes: 59 additions & 12 deletions docs/team/g13nd0n.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
# Glendon Tan - Project Portfolio Page

## Overview
BookBob is a desktop application tailored for Dr Bob’s private General Practitioner clinic. It facilitates the storage
BookBob is a desktop application tailored for Doctor's private General Practitioner clinic. It facilitates the storage
and retrieval of patient information, including names, NRICs, genders, dates of birth, phone numbers, home addresses,
allergies, medical histories and visit records with details on diagnoses and prescribed medications. BookBob also helps
Dr Bob stay organised by tracking daily appointments and providing reminders each morning. Optimised for a Command Line
Interface (CLI), BookBob allows for efficient management of patient information and appointments.
allergies, medical histories and visit records with details on diagnoses and prescribed medications. Through the usage
of BookBob, users will also be able to schedule appointments with their patients and receive daily reminder of the
appointments for the day upon login. The application is optimised for Command Line Interface (CLI), allowing for
efficient management of patient information and appointments.

### Summary of Contributions
- Code Contributed: [RepoSense Link](https://nus-cs2113-ay2425s1.github.io/tp-dashboard/?search=g13nd0n)
- Code Contributed: [RepoSense Link](https://nus-cs2113-ay2425s1.github.io/tp-dashboard/?search=g13nd0n&breakdown=true&sort=groupTitle%20dsc&sortWithin=title&since=2024-09-20&timeframe=commit&mergegroup=&groupSelect=groupByRepos&checkedFileTypes=docs~functional-code~test-code~other)


- Enhancements implemented:
New Features
New Features:
- Add appointment for future schedule
- What it does: allow user to add appointments made with patients
- Justifications: This features improve the product by allowing user to track their time to avoid possible
Expand All @@ -24,21 +27,25 @@ Interface (CLI), BookBob allows for efficient management of patient information
- Furthermore, once added the appointment, the list of appointments will be sorted according to date and time.
Implementation required ensure the appointment class implements the Comparable interface and have the compareTo
methods and sorting them out. Additionally, implementation will need to ensure that regardless the order of the
appointment is added, it will be sorted appropriately
appointment is added, it will be sorted appropriately after the appointment has been added.
while comparison are correct
- There is a guard clause added to prevent users from inputting different names despite the nric inputted being
the same.
- Delete appointments
- What it does: delete appointments based on the specific nric, date and time given
- Justification: This feature improves product by allowing user to delete the appointments that might have been
made on accident. It requires date and time to ensure that the appointment deleted is the correct appointment.
The delete feature is case-insensitive for the nric when deleting the appointment.
- List all appointments
- What it does: List all appointments in chronological order
- Justification: This improves the product by allowing user to look at all the appointments that has been made
- Highlights: The list of appointments will always be sorted as user should know the appointments in date order.
- Find appointments based on specific keywords such as date, time, name or nric
- What it does: Display all appointments based on the search keyword
- Justifications: This feature improves the product by allowing users to find the appointments for the specific
name, nric, date or time instead of listing all appointments and look for the appointments wanted. The search
feature is case-insensitive.
name, nric, date or time instead of listing all appointments and look for the appointments wanted.
- Highlights: The search feature is case-insensitive. The searching of appointments do not require the name to be
- fully spelled. Partial match of the name will also be shown.
- Appointments Notice upon logging in to the system
- What it does: Display all the appointments for the day
- Justification: This feature improves the product by removing the need for the user to list all appointments and
Expand All @@ -48,28 +55,68 @@ Interface (CLI), BookBob allows for efficient management of patient information
- Justification: This feature improves the product by removing the need for user to personally delete the
appointments that have already passed.
- Highlights: The appointments that are removed would be those that are before the time that the user logged off.
Implementations would required to check both date and time before removal and not simply removing all the
Implementations would be required to check both date and time before removal and not simply removing all the
appointments for the day.
- Added guard clause to the `add` function to prevent users from inputting same details of the patient causing
multiple records of the same patient.
- Wrote testing for the v1.0 project. #75
- Wrote additional testing for the new features added. Included testing of methods defined in the `Appointment` and
`AppointmentRecord` classes. #248


- Contributions to User Guide:
- Added documentation for the features `delete`, `appointment`, `deleteAppointment`, `listAppointments` and
`findAppointment` #205


- Contributions to Developer Guide:
- Added class diagram for `Appointment` and `AppointmentRecord` class
- Added details, sequence diagram and object diagram for the Appointment Feature
- Added information for the Glossary
- Check Contributions to Developer Guide for UML diagrams


- Contributions to team-based task :
- Convert the extraction of patient's details into a method since it has been used repeatedly #343
- Remove all the magic number when extracting patient's details #343
- Fixing bugs identified by other students #345, #358, #366
- Maintain the issue tracker


- Review/mentoring contributions:
- Help teammates in solving JUnit test issues e.g. System.lineSeparator() was not replaced with \n
- Help fixed the CI issues that was accumulated over time #75
- Advised teammates on how to create guard clause to prevent future dates from being added when adding new visit
dates


- Contributions beyond the project team:
- Help to spot bugs during dry run practical
- Peer review given to certain groups regarding their product and Developer Guide

---
## Contributions to the Developer Guide
```
The appointment mechanism is facilitated by `CommandHandler`. It creates an appointment slot via the `Appointment`
class and records it within the `AppointmentRecord` class. The appointment records will then be saved into
`FileHandler`.
- `CommandHandler.appointment(String input, AppointmentRecord appointmentRecord)` - check the input to check if valid
- `FileHandler.initFile(AppointmentRecord appointmentRecord)` - loads any saved appointment records
- `appointmentRecord.checkAvailability(LocalDate date, LocalTime time)` - check for availability at given time and date
- `AppointmentRecord.addAppointment(Appointment appointment)` - add appointment to the appointment record
- `Appointment(String name, String nric, String date, String time)` - creates appointment with the given name, nric,
- date and time
- `FileHandler.autosave(AppointmentRecord appointmentRecord)` - save the appointment records
Doctor enters the command: `appointment n/Patricia Chan ic/S9870789B date/06-11-2024 time/14:30`
```
- Appointment Class Diagram\
![Appointment.png](..%2FAppointment.png)
- AppointmentRecord Class Diagram\
![AppointmentRecord.png](..%2FAppointmentRecord.png)
- Object Diagram for Appointment Feature\
![BeforeAppointmentOD.png](..%2FBeforeAppointmentOD.png)
- ![BeforeAppointmentOD.png](..%2FBeforeAppointmentOD.png)
![AfterAppointmentOD.png](..%2FAfterAppointmentOD.png)
- Sequence Diagram for Appointment Feature\
![NewAppointmentSD.png](..%2FNewAppointmentSD.png)
Expand All @@ -79,7 +126,7 @@ Appendix D : Glossary
- Mainstream OS: Windows, Linux, Unix, MacOS
- NRIC: National Registration Identity Card (Identification Number)
```

---
## Contributions to the User Guide
```
Deleting a Patient Record
Expand Down

0 comments on commit 804f5e7

Please sign in to comment.