Chrus Chong's Project Portfolio Page
Project: Around the World in $80
Around the World in $80 (AWE) is a desktop application that splits bills between different contacts. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java. Given below are my contributions to the project. RepoSense link
Features
- New Feature: Constructed the
creategroupfeature for AWE.- What it does: Allows user to create a new travel group with the command line interface.
- Justification: This feature is crucial as the user should be able to create groups to record travel expenses.
- Contribution: Built the entire framework for this feature.
- New Feature: Constructed the
groupeditname,groupaddcontact,groupremovecontact,groupaddtagandgroupremovetagfeatures for AWE.- What it does: Allows user to modify existing group attributes with the command line interface.
- Justification: This feature is important as the user should be able to modify attributes in travel groups after creating them. The prevents the need for deleting a re-creating a group.
- Contribution: Built the entire framework for this feature.
- New Feature: Developed storage functionalities for
creategroupanddeletegroupfeature.- What it does: Allows group data to be saved upon creation or deletion of group.
- Justification: This feature is crucial as the changes to travel groups should be automatically saved.
- Highlights: This implementation ensures that the most up-to-date group data is saved into
/data/awe.jsonwith each command. - Contribution: Pieced together the basic framework provided by
@ramapriyan912001 to develop fully functional storage abilities for
creategroupanddeletegroup.
Others
- Project management
- Managed releases: v1.2b
- Documentation:
- User Guide:
- Added documentation for the features
create group,group add tag,group remove tag,group add contact,group remove contact, andgroup edit name - Added details for
About the Document,Command Format,FAQ - Added
Final Wordsection
- Added documentation for the features
- Developer Guide:
- Created table of contents for ease of navigation.
- Rearranged all user stories to ensure they follow decreasing order of priority.
- Added use cases for
Add a Person,Clear All EntriesandCreate Travel Group. - Added details for implementation of
creategroup,groupeditnamefeatures, including sequence and activity diagrams. - Added details for manual testing of
creategroup,groupeditname,group add tag,group remove tag,groupaddcontact,groupremovecontactcommands. - Added use cases for
addcontact,clearalldata,creategroup,help,groupeditname,groupaddtag,group remove tag,group add contact,group remove contactcommands. - Wrote the code for the sequence diagram of
creategroup, upon which a bulk of the other sequence diagrams were based on. Refer to the sequence diagram in the Diagram Contributions to Developer Guide section.
- User Guide:
- Major bug fixes:
- severity.HIGH
groupremovecontactdoes not delete the group even when removing the last member of the group. #341- Bug description: The
groupremovecontactcommand removes the final person in the group, leaving AWE with a group that has no members. (Pull request: #360)
- Bug description: The
- severity.HIGH
groupeditnamecauses AWE to become unresponsive. #314- Bug description: The
groupeditnamecauses AWE to become unresponsive upon trying to change a specific group name to another group name that already exists within AWE. (Pull request: #360)
- Bug description: The
- severity.HIGH
- Community:
- PRs reviewed (with non-trivial review comments): #124, #334, #411.
- Worked together with @ramapriyan912001 on group features.
- Contributed to forum discussions (examples: #38, #113, #264, #342)
- Reported bugs and suggestions for other teams in the class (examples: #1, #2, #3, #4, #5, #6, #7, #8, #9, #10, #11, #12)
Diagram Contributions to Developer Guide
Fig 1. Create Group Activity Diagram
Fig 2. Create Group Sequence Diagram, upon which a bulk of the other sequence diagrams are based on
Fig 3. Reference diagram for the Create Group Sequence Diagram
Fig 5. Group Edit Name Sequence Diagram