Thomas's Project Portfolio Page
Project: AddressBook Level 3
Trace2Gather is a desktop address book application used for managing hotel guests and rooms. 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.
Summary of Contributions
Code Contributed
Enhancements Implemented
checkinandcheckout: Added the ability to check guests in and out of rooms.- What it does: allows the user to assign guests to a room and keep track of which rooms are occupied, as well as check them out when they leave the hotel.
- Justification: This feature is indispensable for managing hotels.
- Highlights: Conceived, designed and built the entire Residency system as a solution to problems posed by this feature. This system is a foundation for many new features to be built upon. See below for details.
- Credits: Original AB3 team, Darren for the Room system and many misc. fixes and tests.
- Residency System (Design and Implementation)
- The Residency system is responsible for storing the details of the stay of guests in a room. It is easy to work with, simple to expand upon, and relatively compatible with existing architecture.
- I designed the system to solve many problems otherwise inherent in the architecture. It decouples and serves as a mediator between the Room and Person systems, and is fast, reliable and easy to store.
- The system also serves as the foundation for many other features. For example:
Residencyprovides a previously unavailable place to store additional details about stays, including the dates and times of check-ins / check-outs.ResidencyBookcentralises the registration, lookup and removal ofResidencys, and thus simplifies the storage of past stays separate from current stays, by simply having anotherResidencyBookfor them.
- Rewrote
Vacancyclass, greatly simplifying it and vanquishing bugs - Misc. functionality
UG Contributions
- Re-writes to simplify language:
- Introduction
- Navigation Guide
- Section introductions
- Documentation for
checkinandcheckout - Proof-reading, grammar improvements
DG Contributions
- Implementation section: Encapsulation of Hotel Stays (The Residency System)
Testing
CheckInCommand,CheckOutCommandCheckInCommandParser,CheckOutCommandParserResidencyBookJsonAdaptedResidency- Added
TypicalAddressBook - Misc. other tests, fixes and functionality