Check out the project live here!
A full stack budgeting application that manages users and their transactions.
- React (for the frontend framework)
- Typescript (for the Javascript syntax)
- CSS (for the styling)
- Python (for the server side language)
- Django (for the server side framework)
- SQLite (for the database)
- Adding a transaction
- Deleting a transaction
- Showing your balance
- Pie Charts that show
- Income vs Expenses
- Expense Category Comparison
- A budget of what you want to spend on each category
- Hot swap sections to customise the user interface
- User support with login, logout and register functionality
- Storing users tokens locally to remove the need to login every time
- Can sign in using your Google Account
I will continue to expand the functionality in the future.
(To get it running entirely locally you will need to change the baseUrl in frontend/src/Constants.ts to 127.0.0.1:8000 otherwise the frontend will connect to the remote API)
- Clone the project to your machine
[git clone https://github.com/joshuarichards001/budgeting-web-app.git]
- Navigate into the directory
[cd budgeting-web-app]
- Navigate into the backend directory
[cd backend]
- Install virtualenv if you haven't already
[pip install virtualenv]
- Create the virtual environment
[virtualenv env]
- Activate the virtual environment
[source env/bin/activate]
- Install the dependencies
[pip install -r requirements.txt]
- Navigate into the frontend directory
[cd ../frontend]
- Install the dependencies
[npm install]
Then to run this application you will need to perform the following in two separate terminals:
- In the first terminal go into backend
[cd backend]
and run[python3 manage.py runserver]
- In the second terminal go into frontend
[cd frontend]
and run[npm start]
Here is the login page that a new user is greeted with.
Here is the dashboard that is the core page of the application