Thia Su Mian's Project Portfolio Page
Project: WoofAreYou
WoofAreYou is a desktop administrative manager used by pet daycare owners to aid their day-to-day administrative duties. 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.
- Filter: Added the ability to filter out pets by desired field.
- What it does: Allows pet daycare owners to filter out pets from the pet list. They can choose to filter by a number of different fields such as date, appointment, owner’s name and tags of the pets.
- Justification: This feature improves the efficiency of executing commands in WoofAreYou. If daycare owners have a huge list of pets, this feature helps them narrow down their search a lot so that they can perform other administrative commands efficiently with a smaller pet list.
- Highlights: This enhancement is dependent on both existing commands and commands to be added in the future. It required in depth analysis of the different fields and commands implemented to adapt this feature appropriately to produce the desired result. A lot of thoughts were put into making this feature extendable to accommodate potential features of WoofAreYou as we tweak it to suit the different operations of daycare owners.
- Credits: Inspiration of the implementation was drawn from original
findcommand from AB3 and Java’sLocalDatelibrary was used to aid in the implementation.
- Labels In GUI for diet and Appointment: Added visual cues for diet and appointments of pets in GUI.
- What it does: Allows pet daycare owners to identify the special requests of different pets. Appointment labels will change color to provide an indication of their urgency based on their dates. Diet labels will appear if the pet has any dietary requirements.
- Justification: This feature acts as a reminder for daycare owners when taking care of pets with special needs and requests. WoofAreYou contains a lot of information about pets and this feature emphasises on information that may be more important. This information may be urgent and could affect the safety of the pets.
- Highlights: This enhancement affects the existing features of the GUI and is dependent on existing commands. It needed strategic tweaking of the layout of the existing pet card to bring out the desired emphasis. At the same time other exisitng information should not be less visible in any way.
-
Code contributed: RepoSense link
- Project management:
- Managed releases
v1.3.1on GitHub
- Managed releases
- Enhancements to existing features:
- Wrote additional tests for exisitng features and new features to increase coverage from 67% to 70%(Pull request #91)
- Documentation:
- Contribution to team-based tasks
- Set up GitHub team organisation/ repository
- Updating user guide to enhance user-friendliness
- Community:
- Tools:
- Integrated CodeCov to the team repo