A comprehensive WPF desktop application to help you track income, expenses, and budgets using the MVVM pattern and MariaDB.
- Summary Cards – Display total income, expense, and balance for the last 6 months
- 6-Month Expense Limit – Set a custom budget; progress bar turns red when exceeded
- Persistent limit – Value is saved and restored between sessions
- Add, Edit, Delete transactions
- Fields: name, amount, type (Income/Expense), category, and date
- Inline date picker for easy selection
- Edit mode – “Add” disabled while editing; “Save/Cancel” enabled
- Real-time updates – List refreshes after each operation
- Manage categories (add, update, delete)
- Separate income and expense categories
- Used by transactions for better organisation
- Monthly Summary – Column chart (Income vs Expense)
- Category Breakdown – Pie chart of spending per category
- Trends – Line chart of cumulative balance over time
- Export – Save reports to Excel (.xlsx) or PDF (.pdf)
- MariaDB (MySQL compatible) for persistent storage
- Entity-free ADO.NET with repository pattern
- Lightweight and fast data access
- Clean modern interface
- Summary cards and interactive charts
- Dark/Light theme ready
- Responsive layouts using Grid and UniformGrid
- .NET Framework 4.8
- WPF (Windows Presentation Foundation)
- MVVM Pattern (INotifyPropertyChanged, RelayCommand)
- LiveCharts – interactive charts
- EPPlus / ClosedXML – Excel export
- iTextSharp – PDF export
- MySql.Data – MariaDB connector
- Visual Studio 2022
- Windows 10/11
- Visual Studio 2022 (or 2019) with .NET desktop development workload
- MariaDB server (or MySQL) running locally or remotely
- Git (optional)
###2. Create the database
Run the SQL script in: Db/Finance.sql
This creates: Categories table Transactions table
(Optional) Insert sample data from: Db/Finance.sql
###3. Update connection string
Open App.config and modify the FinanceDB connection string to match your: Server Database User Password
###4. Restore NuGet packages
Visual Studio usually restores automatically. If not: Update-Package -Reinstall
###5. Build and run
Press F5 in Visual Studio.
##🧭 Usage
Dashboard – View financial summary and set 6-month expense limit Transactions – Add, edit, delete transactions using the date picker Categories – Manage categories for better classification Reports – Generate charts and export to Excel or PDF
##📁 Project Structure PersonalFinanceManager/
├── Controls/
├── DataAccess/
├── Helpers/
├── Models/
├── Services/
├── ViewModels/
├── Views/
├── App.xaml
├── App.config
└── README.md
xxxt# Project documentation
##🤝 Contributing
Contributions are welcome!
Fork the project Create your feature branch git checkout -b feature/AmazingFeature Commit your changes git commit -m "Add some amazing feature" Push to the branch git push origin feature/AmazingFeature Open a Pull Request
##📄 License
Distributed under the MIT License. See LICENSE for more information.
##📬 Contact
Gowtham M
Email: gowthamm2424@gmail.com
Project Link: https://github.com/gowtham2401/PersonalFinanceManager
git clone https://github.com/gowtham2401/PersonalFinanceManager.git