Jeanne Toh's Project Portfolio Page
Project: Wanderlust
WanderLust is a desktop travel-planning application that allows users to plan their trips in a structured and efficient manner. It is optimised for CLI-proficient users, and comes with a GUI created with JavaFX. It is written in Java, and has approximately 16 kLOC.
Summary of Contributions
Code contributed: RepoSense
Major Enhancements:
- Implemented UI (#81, #113,
#193, #286)
- What it does: The UI is the main interface that interacts with the user. It listens to user interaction,
executes user commands using the
Logic
component and observes changes to data inModel
, updating accordingly. - Highlights:
- This enhancement requires in-depth knowledge of the entire architecture, especially the
Logic
andModel
components. - Multiple rounds of experimentation and code refactoring to find the ideal way to display the 3 types of
TravelPlanObject
s since JavaFXListView
does not take in wildcard types. Ultimately, tab panes were used. - Implemented the overall layout of the UI and updated its styling to BlueTheme.
- Implemented auto-tabbing feature, where application automatically changes to the correct tab when specific commands are called.
- This enhancement requires in-depth knowledge of the entire architecture, especially the
- What it does: The UI is the main interface that interacts with the user. It listens to user interaction,
executes user commands using the
- Implemented Directory and ObservableDirectory (#86, #110)
- What it does:
Directory
provides an abstraction for TravelPlan and Wishlist and facilitates the implementation of the navigation feature.ObservableDirectory
represents the current directory, and is observed by the UI for updates.
- What it does:
- Add TravelPlan and Wishlist Packages in model (#59)
- What it does: Each TravelPlan has its own name, start date and end date, and wraps its own list of activities, accommodations and friends. The wishlist wraps a list of pinned activities for future travels.
Minor Enhancements:
- Implemented WanderlustDate in model (#59, #78, #79)
- Updated Help Feature to include link to Wanderlust User Guide.
- Implemented Clear Feature (#277)
- Added SampleWanderlustDataUtil in Model (#81)
Contributions to User Guide:
- Added documentations for
show
feature (#18),move
feature (#186),clear
feature (#277), andgoto
feature (explaining about directories in Wanderlust, written in a shared document before UG was transferred to UserGuide.md) - Added Table of Contents (#18) and Ui.png (#53, #291)
Contributions to Developer Guide:
- Added documentations for the
copy
andmove
feature, including CopyActivityDiagram and CopySequenceDiagram. (#144, #150) - Added use case to clear Wanderlust. (#277)
Testing, Bug Fixing & Defensive Programming:
- Added Test Cases for TravelPlan Package (#85), Wishlist Package (#280), LogicManager (#106), and ClearCommand (#277)
- Fixed Bugs found in PED and throughout Wanderlust ( #197, #199, #202, #203, #222, #224, #235, #241, #288, #291, #292, #311 )
Project management:
- Schedule and attend weekly meetings.
- Lead and contribute to discussions during weekly meetings.
- Maintain issue tracker and milestone.
Contributions to team-based tasks:
- Helped teammates with debugging and understanding codebase.
- Linked Up Ui with Logic, Model and MainApp. (#88)
Community: