Mr. Budget is a personal finance management web application that helps users track their income, expenses, and savings goals. This is a final project for Web Design and Development 1.
- User Authentication - Secure login and registration system
- Dashboard - Overview of financial health with visual charts
- Income Tracking - Add, edit, delete, and view income sources
- Expense Tracking - Manage and categorize expenses
- Savings Goals - Set and track savings targets with progress bars
- Financial Charts - Visual comparisons of income vs expenses
- Goal Progress - Track progress toward savings goals
- XAMPP installed on your system
- Open XAMPP Control Panel
- Start the Apache module
- Start the MySQL module
- Navigate to
C:\xampp\htdocs\(Windows) or/opt/lampp/htdocs/(Linux) - Create a folder named
mr-budget - Copy all project files into this folder
- Open your browser
- Navigate to:
http://localhost/mr-budget/
- The database
budget_dbis automatically created on first access - The following tables are also created automatically:
- users
- income
- expenses
- savings_goals
| Setting | Value |
|---|---|
| Host | localhost |
| Database | budget_db |
| Username | root |
| Password | (empty) |
| Port | 3306 |
- Frontend: HTML5, CSS3, JavaScript
- Backend: PHP
- Database: MySQL
- Charts: Chart.js
- Icons: Font Awesome
mr-budget/
├── assets/
│ ├── auth/
│ │ ├── login.php
│ │ ├── logout.php
│ │ └── register.php
│ ├── css/
│ │ └── style.css
│ ├── images/
│ │ └── (SVG and image assets)
│ └── js/
│ └── script.js
├── charts/
│ ├── financial_comparison.php
│ └── goal_progress.php
├── config/
│ └── database.php
├── dashboard/
│ ├── index.php
│ └── profile.php
├── expenses/
│ ├── add.php
│ ├── edit.php
│ └── list.php
├── helpers/
│ └── auth.php
├── includes/
│ ├── footer.php
│ └── header.php
├── income/
│ ├── add.php
│ ├── edit.php
│ └── list.php
├── savings_goals/
│ ├── add.php
│ ├── edit.php
│ └── list.php
├── index.php
└── README.md
- 🔐 The application uses PHP sessions for user authentication
- 🗄️ All data is stored locally in MySQL via XAMPP
- 📊 Charts are rendered using Chart.js library