Maxx Chan's Project Portfolio Page
Project: Bamboo
Bamboo (v1.4) is a simple desktop app for managing personal finance, optimized for use via a Command Line Interface (CLI), and targeted at college students. If you can type fast, Bamboo v1.4 can get your financial management tasks done faster than traditional GUI apps.
Given below are my contributions to the project.
- New Feature: Added the ability to sort expenses. (Pull Request #86)
- What it does: allows the user to sort expenses currently displayed on the application based on Amount, Description (alphabetical), and Date of Expense. Users can use at least, and up to 3 of the sorting criterion - they will be applied with priority in order of appearance. Users also have the option to do a reverse sort for criterion.
- Justification: This feature improves the product significantly because a user can better organise how expenses are displayed on the application. Specifically:
- Amount sort allows the user to find out which expenses contribute the most/least to his spending.
- Description sort allows the user to organise expenses with similar descriptions together.
- Date sort allows the user to have a chronological overview of his spending.
- Highlights: Priority sort for multiple keywords was an intentional design choice which added additional layers of complexity. Sorting also works together with filtering. While sorting itself is not complicated, this feature was challenging as JavaFX does not support both sorting and filtering at the same time natively. Workarounds had to be used.
-
Code contributed: RepoSense link
- Project management:
- Team leader - delegation of work to members.
- Managed all releases
v1.2
-v1.4
(4 releases) on GitHub. - Opened, tagged and resolved Issues according to priority, category and person-in-charge.
- Managed closing of milestones and shifting unfinished tasks to later milestones.
- Reviewed and merged PRs.
- Created v1.2, v1.3, v1.4 demos.
- Bug reporting (Issues #94, #98, #99, #171)
- Refactoring
- Enhancements to existing features:
- Documentation:
- User Guide:
- Did overall formatting and proofreading of user guide. (Pull requests #100, #152)
- Updated Command Format Guide, Quick Start, Features section. (Pull requests #152)
- Updated Glossary section with input restrictions. (Pull request #152)
- Added documentation for the features
sort
,clear
andexit
. (Pull requests #89) - Touch up existing documentation for
alias
,switch
,addCat
,deleteCat
,find
. (Pull requests #100) - Add app screenshots for all commands.
- Developer Guide:
- User Guide:
- Community:
- Tools:
- Introduced the team to Notion to store notes and tasks from our team meetings.