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
creategroup
feature 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
,groupaddtag
andgroupremovetag
features 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
creategroup
anddeletegroup
feature.- 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.json
with each command. - Contribution: Pieced together the basic framework provided by
@ramapriyan912001 to develop fully functional storage abilities for
creategroup
anddeletegroup
.
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 Word
section
- 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 Entries
andCreate Travel Group
. - Added details for implementation of
creategroup
,groupeditname
features, including sequence and activity diagrams. - Added details for manual testing of
creategroup
,groupeditname
,group add tag
,group remove tag
,groupaddcontact
,groupremovecontact
commands. - Added use cases for
addcontact
,clearalldata
,creategroup
,help
,groupeditname
,groupaddtag
,group remove tag
,group add contact
,group remove contact
commands. - 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
groupremovecontact
does not delete the group even when removing the last member of the group. #341- Bug description: The
groupremovecontact
command removes the final person in the group, leaving AWE with a group that has no members. (Pull request: #360)
- Bug description: The
- severity.HIGH
groupeditname
causes AWE to become unresponsive. #314- Bug description: The
groupeditname
causes 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