The Budget Tracker Client Application allows users to:
- Sign up and log in.
- Add expenses with auto-categorization using SageMaker/OpenAI.
- Fetch user spending summaries (budget vs. actual spending).
- Retrieve notifications for exceeded budgets.
- A sample user (username:
newuser
, password:password123
) is included to help with testing. This client interacts with a preconfigured server that handles all backend processing.
- Python 3.7+
- Required Python libraries:
requests
matplotlib
configparser
- Install dependencies using:
- Save the client script to a file, e.g.,
client.py
. - Open a terminal in the script directory.
- Run the program using:
- Choose option 1 (Sign Up).
- Enter a new username, email, and password to register.
- A confirmation message will be displayed if registration is successful.
- Choose option 2 (Log In).
- Enter your username and password.
- Successful login will save the session token in a configuration file for future use.
- Choose option 3 (Fetch User Data).
- This retrieves your spending data, including actual spending and budgets.
- A bar chart visualizing your data (
budget_vs_spending.png
) will also be saved in the current directory.
- Choose option 4 (Fetch Alerts).
- This retrieves and displays notifications for budgets exceeded.
- Choose option 5 (Add Expense).
- Enter a description and amount for the expense.
- The system categorizes the expense (using SageMaker/OpenAI) and adds it to your records.
- Username: newuser
- Password: password123
- Sign Up: Registers a new user with a username, email, and password.
- Log In: Authenticates the user and stores their session token.
- Fetch User Data: Retrieves and visualizes user expenses vs. budgets.
- Fetch Alerts: Displays notifications for exceeded budgets.
- Add Expense: Adds a new expense with auto-categorization.