Lam Zhi Yuan's Project Portfolio Page
Project: ZooKeep
ZooKeep is a desktop app for managing animals under a zookeeper’s care, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (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 ability to undo commands (#113)
- What it does: allows the user to undo all previous commands one at a time in the event of a mistake.
- Justification: Managing and tracking sensitive information is prone to human error. This feature allows mistakes to be undone and makes the app more forgiving.
- Highlights: This enhancement is implemented as an extension, without modifications to current commands. It tracks the states of the app and hence is not dependent on individual commands. This is extensible as future commands will also conform to the undo feature without having to be aware of it.
- Credits: The undo feature was implemented using a stack, similar to every modern app.
-
Code contributed: RepoSense link
- Project management:
- Managed releases
v1.3.trial
-v1.3
(2 releases) on GitHub
- Managed releases
- Enhancements to existing features:
- Refactor Person class to Animal (#66, #71, #72)
- Refactor AB3’s phone field to animal ID field (#73)
- Refactor AB3’s tags field to animal medical conition fields (#82)
- Add headers to fields for clarity (#81)
- Add feeding times field to Animal model (#98)
- Refactor AB3’s address package to zookeep (#190)
- Documentation:
- User Guide:
- Developer Guide:
- Team-based Tasks: