This is an app that allows the user to keep track of expenses and income. It is built entirely with JavaScript. The purpose was to build a JavaScript-only application that used JS modules and data encapsulation.
This app consists of 3 JS modules:
budgetController
module, which takes care of handling the data: adding new items to the data structure, calculating the budget.UIController
module, which takes care of the UI: getting input values, adding new items to the UI and updating the UI.controller
module, which links bothbudgetController
andUIcontroller
: it controls what happens upon each event and delegates tasks to other controllers.
- It displays the current month and year and the budget available for that month.
- It displays the total income and the total expenses.
- It allows the user to enter new items (either expense / income) with a description and a value.
- The app displays each item in the right section (Income / Expenses)
- The user can manually delete any item.
- A percentage of the expenses based on the total income is available both for the total expenses and each expense item.
- Planning the app
- First steps
- Updating the controller and the UI
- Deleting items
- Updating percentages
- Displaying date
This project is based on Jonas Schmedtmann budgety project.