Peter Yeh's Project Portfolio Page
Project: TrackPad
TrackPad is a clean and simple desktop application for tracking past itineraries and creating future ones. It is written and compiled in java, hence it’s available on all platforms. The user interacts with it using a CLI, and it has a beautiful GUI created with JavaFX.
Given below are my contributions to the project.
- New Feature: Maintained
ItineraryAttraction
.- What it does: allows the user to create attractions and manage it in their itinerary.
- Justification: This feature improves the product significantly because it gives the user the ability to add start and end time to the attractions created.
- Highlights: This enhancement required an in-depth analysis of design alternatives. The implementation was challenging as
it requires writing up and testing multiple approaches to see which solution best fit into the existing implementation of
TrackPad
.
- New Feature: Added and maintained
ItineraryAttractionCommands
.- What it does: allows the user to add/edit and delete attractions in their itineraries to plan their trips.
- Justification: This feature improves the product significantly because it allows the user to do manipulations of attractions inside an itinerary.
- Highlights: This enhancement required an in-depth understanding of how the current
AttractionCommands
work to identify the best design based on the constrains. TheItineraryAttraction
was stored in theItinerary
’sDay
unlikedAttraction
which was stored inAttractionList
. This difference introduced lots of limitations which were challenging and required writing up new commands and new test cases due to the different implementations compared toAttractionCommands
.
-
Code contributed: RepoSense link
- Project management:
- Helped maintained issue trackers.
- Helped review and approve PRs.
- Enhancements to existing features:
- Converted email, phone and address from compulsory to optional fields to give users more flexibility and control on the fields they want in their attractions. (Pull requests #74, #79)
- Enhanced the AB3’s find by name feature to find by any fields inside an attraction, allowing a more sophisticated find method. (Pull requests #92, #97, #100)
- Wrote additional tests for enhancements added to maintain test coverage. (Pull requests #99, #97)
- Documentation:
- User Guide:
- Added and maintained the Itinerary Attraction Features.
- Developer Guide:
- Added and maintained the Itinerary Attraction Model.
- Added and maintained the Adding Itinerary Attraction.
- User Guide:
- Community: