This is a Flask-based personal budget tracking application converted from the original HTML version. It includes user authentication, transaction management, budget tracking, and financial reporting features.
- ✅ User Registration & Login
- ✅ Dashboard with financial overview
- ✅ Transaction Management (Add, View, Track)
- ✅ Budget Management (Set limits by category)
- ✅ Reports & Analytics with Charts
- ✅ Group Expenses (Create groups, split bills, track settlements)
- ✅ SQLite Database for data persistence
- ✅ Session-based authentication
- ✅ Responsive design with Tailwind CSS
pip install -r requirements.txtpython app.pyThe application will start on http://localhost:5000
- Navigate to
http://localhost:5000 - You'll be redirected to the login page
- Create a new account using the registration form
- Start adding transactions and setting budgets!
The application uses SQLite database (budget_tracker.db) which will be created automatically when you first run the app. The database includes:
- Users table (for authentication)
- Transactions table (income/expense records)
- Budgets table (spending limits by category)
- Groups table (expense sharing groups)
- Group_members table (group membership)
- Group_expenses table (shared expenses)
- Expense_splits table (individual shares and settlements)
personal_budget_tracker/
├── app.py # Main Flask application
├── requirements.txt # Python dependencies
├── budget_tracker.db # SQLite database Created
├── templates/
│ ├── index.html
│ ├── login.html
│ ├── dashboard.html
│ ├── transaction_management.html
│ ├── budget_management.html
│ ├── group_expenses.html
│ └── reports_and_analytics.html
└── static/ # CSS, JS, and other static files
└── css/
├── main.css
└── tailwind.css
- Go to Dashboard or Transactions page
- Fill in the transaction form with:
- Type (Income/Expense)
- Category
- Amount
- Date
- Description (optional)
- Click "Add Transaction"
- Navigate to Budget Management
- Enter category name, budget amount, and period (monthly/weekly/yearly)
- Click "Set Budget"
- Go to Reports & Analytics page
- View charts showing:
- Monthly income vs expenses
- Category breakdown
- Spending trends
- Create a Group:
- Navigate to Group Expenses page
- Fill in group name and description
- Click "Create Group" - you'll get a Group ID
- Invite Others:
- Share the Group ID with friends/family
- They can join using "Join Existing Group"
- Add Shared Expenses:
- Select a group and add expense details
- Amount is automatically split equally among members
- Settle Up:
- View who owes what in the expenses table
- Click "Settle Up" to mark your portion as paid
- Change the
app.secret_keyinapp.pybefore deploying to production - The current setup is for development only
- For production, use a proper database like PostgreSQL
- Implement proper password policies and security measures
- If you get import errors, make sure all dependencies are installed:
pip install -r requirements.txt - If the database doesn't work, delete
budget_tracker.dband restart the app - For port conflicts, change the port in
app.run(debug=True, port=5001)
You can create your own account or use these demo credentials:
- Email: demo@example.com
- Password: password123
Enjoy tracking your finances!