A Frontend Web Application to track the Income and Expense records.
BalanceTrackerVideo.mp4
- Frontend
- Responsiveness : Mobile and Desktop only
- Data storage : Browser Local Storage
- HTML
- CSS
- Javascript
- React.js
- Material UI
- Chart.js - Doughnut for Data Visualisation
- Browser Local Storage - to keep the transaction data
-
A form is provided for the User to select :
- Type of transaction :
Income
orExpense
- Category of income or expense medium - out of options present in the dropdown
- Amount of transaction
- Date of transaction - set as
Current date
by default
- Type of transaction :
-
Once the transaction is created , it is stored in
local storage
and displayed at:- Data visualisation section - using
Doughnut
chart - List of transaction
- Data visualisation section - using
-
Net balance is calculated by :
Total Income balance - Total Expense balance
-- it can be negative too. -
In Chart section, Income is represented by Green shades and Expense is represented by Red shades
-
Transaction data can also be deleted using
Delete Icon Button
present in List -
Everytime a transaction is created, a Snackbar - Alert popup appears at the top-right corner to display success message
-
Transaction validation :
- Transaction category should not be
None
- Transaction amount should be greater than
0
- Transaction category should not be
- React hooks : useReducer (dispatch, reducer function), useContext (context API), useState, useEffect, Custom hooks ( useTransactions)
- Material UI : Card, Grid, Form Control, Select, Text Field, Typography, Snackbar, Alert, Menu Item, Button, Input Label, List, ListItem, ListItemAvatar, ListItemText, Avatar, ListItemSecondaryAction, IconButton, Slide, Divider
- Chart.js : Doughnut, Chart datsets, options, data, background color, labels, legend
- Display labels for each transaction on Chart section
- Implement responsiveness for all device widths
- Add speech command features - Using
Speechly
- Option to add more categories for Income and Expense
- Clear all button - to clear all the previous records
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.
The page will reload when you make changes.
You may also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.