✅ Implement the app using JavaScript classes: Expense, Category and Tracker. Each expense have the following attributes: date (automatically assigned or manually entered), category (selected from predefined categories or custom), description and amount.
✅ Data Persistence: We have used IndexedDB to save the spending data and we use LocalStorage for save the predefined categories and the user can save the custom categories.
✅ CRUD: You can create, read, update and delete the expense data and this information is saved in IndexedDB.
✅ Chart.js You can see a line chart showing expenses over time, a bar chart showing the breakdown of expenses by category and a card with total amount information.
Simply enter the required ddata like date, category, description and amount to record the expenses and you will automatically be able to see the table with this data and a line and bar graph with a card containing the total amount of expenses you have.
Additionally, we have filter options where you can filter the data by category, date from or date to.