Welcome to the feature showcase for Bamboo v1.4, a simple desktop app, to help users quickly manage and stay on top of their personal finances. In a sentence, users can set budgets and stick to them by tracking their expenses using Bamboo!

Bamboo is targeted at college students who are tech savvy, type fast, and do not have large spending power such that they will need to track and manage their personal finances.

So here we are in command terminal, after navigating to the directory with the jar file, execute the command java -jar Expensebook.jar like so, and we are met with the homescreen of Bamboo. Bamboo is designed for the command line interface, so if users type fast, Bamboo can get financial management tasks done in a jiffy.

In this page, Bamboo lists the expenses added, each providing a description, expense amount, expense date, category, remarks added.

The command box above is for users to input commands, and the

budget balance bar below shows the balance of the sum of the expenses currently displayed against the user-specified budget.

This is the same view that you will get by running the list command, which shows all expense in expense book. SHOW

Let's start off by setting a budget for ourselves. Each category has a budget, which is the amount of money the user has set for spending under that category. Using the commands topup and reduce, the user can specify the amount of money he wants to add, and the category to be added to, using the $ sign prefixand t/ category tag prefix. To keep things simple, we'll omit the category, which means we've topped up $150 to the DEFAULT category. Bamboo tells us that we've successfully topped up $150 and the budget bar has been updated accordingly. Likewise, if the user decides that he wants to reduce the budget, simply execute reduce -$50.

Now, let's add an expense - using the command add, users can specify the description, amount, date, and category of the expense using various parameter prefixes. If no date and category are specified, the current date will be used, and the expense is tagged under the DEFAULT category. Bamboo repeats the details of our jacket purchase expense in the command box, and here we see the expense that we've added in the list. Our budget bar has also been updated.

Let's say the user made a mistake in the expense he just added. We can update the expense using the edit command, using the same parameters and prefixes as the add command. To identify the expense to be updated, users will use the index of the expense in the list. So I'm changing the amount to $24.90 and the date to 1 November 2020. * click * The list and budget balance updates accordingly and we get a success message.

To delete an expense, the user identifies the unwanted expense by index in the current list - so here I'm deleting this Nonsense expense at index __ by running the command delete 21. Bamboo updates accordingly.

And with the list, topup, add, update and delete commands, expense tracking is as simple as that.

Moving beyond the basic commands, Up till now, we've only been making use of the default category, but Bamboo flaunts it's management strengths when you make use of its categories.

We already have some categories at the moment. To see the expenses for a specific category, we use the switch command. Users specify the case-sensitive category name with a category tag predicate, and using the switch t/Food command, he can see the expenses for the Food category. In this view, the budget balance bar is also updated to reflect the budget for the food category.

Maybe the user realises he's underestimated how much he spends eating. He can adjust the Food category budget by using the topup and reduce commands covered earlier and specifying the category tag and name. Just like that, Bamboo updates to show the additional $200 in the food category.

To return to the original view, use the list command, and the user sees once again, all his expenses. This is a good time to note that the budget balance shown now is the sum of all the category budgets.

Let's add a new category. To add a new category, the user uses the addCat command. Users will provide the name of the new category which is case-sensitive. I'm going to call this new category School.

Let's switch to the School Category, and populate it with some data. ** TIME SKIP **

Similar to the budget commands, the add expense* pause * and edit expense* pause * commands will also work by specifying the additional Category tag and name.

To delete categories, we use the deleteCat command, which will reassign all expenses in the deleted category to the Default category.