Jared's Project Portfolio Page
Project: SafeFor(H)All
SafeFor(H)All is a desktop app for hall admins to keep track of hall residents’ information to keep hall residents safe during the COVID-19 pandemic via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). It is written in Java, and has about 15 kLoC.
Given below are my contributions to the project.
- New Feature: Added the ability to sort residents and events
- What it does: allows the user to sort residents by any field and order without modifying the original order of the list,
view
command also reverts list to original ordering. - Justification: This feature improves the product significantly because the hall admin can now view the residents or events in an organised manner. E.g. being able to sort events by date and time allows the admin to view the events chronologically.
- Highlights: This feature required an understanding of ObservableList and SortedList. It was challenging to ensure that the original ordering was not modified and straightforward one-way sorting implementations had to be avoided. Individual fields also had to be comparable.
- What it does: allows the user to sort residents by any field and order without modifying the original order of the list,
- New Feature: Added the ability to export the list of email addresses into a csv file
- What it does: allows the user to have easy access to the list of email addresses of the residents currently displayed in the application.
- Justification: This feature improves the use case of the product as hall admins can easily contact the residents they wish. They can simply
find
to get a filtered list of residents andexport
to view these email addresses in a csv file. They can then copy and paste these addresses into an email client to send their desired email. - Highlights: This feature required the use of a file writer, which involved utilising the opencsv library previously used in the
export
command. - Credits: opencsv, was used to aid the writing of csv files.
- New Feature: Added the ability to view events
- What it does: allows the user to view the original unfiltered list of events in the
Event
tab - Justification: This feature was necessary for hall admins to view the original list after commands such as
find
andsort
are executed. - Credits: The code written was adapted from
view
in the original AB3.
- What it does: allows the user to view the original unfiltered list of events in the
-
Code contributed: RepoSense link
- Enhancements to existing features:
- Feature
- Allow
add
to add residents with more fields such as room, vaccination, faculty and optional fieldsFET_DATE
andCOLLECTION_DATE
#48
- Allow
- UI
- Added tabs to separate
Event
andResident
into two tabs #76 - Added GUI visualisation of events #76
- Relocate command box and result box to bottom of GUI #76
- Highlights any past events with grey colored border or red if event contains non-vaccinated residents #96
- Displays number of non-vaccinated residents on event card GUI #96
- Added tabs to separate
- Testing
- Feature
- Documentation:
- User Guide:
- Developer Guide:
- Community:
- PRs reviewed (with non-trivial review comments): #45, #85, #128, #130
- Reported bugs and suggestions for other teams in the class