Marcus Peh's Project Portfolio Page
Project: Around the World in $80
Around the World in $80 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, and has about 22 kLoC.
Given below are my contributions to the project. RepoSense link
Features
- New Feature: Added the ability to change between contacts and groups view.
- What it does: Allows the user to see groups / contacts with a command.
- Justification: This feature is crucial as the user should be able to view the groups and contacts created.
- Highlights: This implementation added in a new command
groupsto see all groups. It changes the commandlisttocontacts.contactsallows the user to see all contacts. - RepoSense: link
- New Feature: Added the ability to find groups.
- What it does: Allows the user to find for groups with a command.
- Justification: This feature will allow the user to check if a group has been created and the details of the group.
- Highlight: This implementation added in a new command
findgroupsto find for group. It will also change the view fromcontactstogroups. - RepoSense: link
- New Feature: Added the ability to see the total spending per person in a trip
- What it does: Allows the user to find their expenses in a trip.
- Justification: This feature will allow the user to track their expenses and cut down spending if needed.
- Highlight: This implementation added in a new command
transactionsummaryto see expenses. - RepoSense: link
- Update: Updated the data stored in
ExpenseandGroup.- What it does: Allows for the splitting in expense between users of a group. Update
Expensecommand to be more straight forward. - Justification: The data stored is crucial in keeping track of the expense. A clear and straight forward storing of expense is necessary to prevent bugs.
- Highlight: This update makes adding of expense more straightforward and split the expenses of users properly.
- RepoSense: link
- What it does: Allows for the splitting in expense between users of a group. Update
- Enhancements to existing features:
Bug Fixes
- severity.HIGH Edit person does not update groups and expenses. #158
- What happen: The command
addPersondoes not replace the instance of the old person from groups and expenses. - Pull request: #158
- What happen: The command
- severity.HIGH Commands for modifying groups will result in the entire group’s expense to be wiped. #270
- severity.MED Json files loads even when phone number of contacts is partially changed ie not all phone number of a contact is changed.
- What happen: Checks when file is loading is only done based on the name of the contact and not the entire contact info.
- Pull request: #425
Others
- Project management
- Managed releases: v1.2
- User Guide:
- Added user guide for the features
groups,expenses,findgroupsandtransactionsummary. - Added FAQs.
- Added user guide for the features
- Developer Guide:
- Updated UI segment in Design with class diagram and explanation.
- Added implementation and design consideration for user interface.
- Added implementation, test cases and use cases for
findgroups,transactionsummary. - Added use cases for
view groups,find personandview expenses.
- Testing:
- Community: