CS50x Final Project
Budget Buddy
Completed (Mar – Apr 2025)
Budget Buddy is a Flask personal-finance application that helps users track income and expenses, set monthly budgets, and understand their spending. It pairs secure authentication (hashed passwords and email verification, with OTP-based password recovery) with full transaction management and an analytics dashboard of interactive Chart.js visualisations powered by pandas. Built as my CS50x final project.
Features
- Secure registration and login with hashed passwords and email-based verification
- OTP-based password reset and change using time-limited verification codes
- Dashboard of lifetime and monthly income, expenses, balance, and a live budget progress bar
- Full transaction management: add, edit, and delete with default and custom categories
- Filtering by date range, transaction type, and category
- Interactive Chart.js analytics: income and expense breakdowns by category and by month, processed with pandas
- Monthly budget control with automatic remaining-amount tracking
Built with
- Flask
- Python
- SQLite
- pandas
- Chart.js
- Bootstrap
- Jinja2
- Flask-Mail
- JavaScript