Skip to content

Linyue-dev/Budget

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HomeBudget

A personal and family finance management system built with C# following MVP (Model-View-Presenter) architecture. The core library is compiled as a reusable DLL, paired with a WPF desktop client for the presentation layer.

Tech Stack

  • C# / .NET - Core development platform
  • WPF - Desktop UI framework
  • MVP Architecture - Clean separation of concerns
  • SQLite - Embedded database
  • Entity Framework Core - ORM for data access
  • LINQ - Query operations

Features

Transaction Management

  • Full CRUD operations for income, expenses, investments, debt, and savings
  • Category-based organization with customizable expense types
  • Date-range filtering and search capabilities

Reporting & Analytics

  • Monthly summaries with running balance tracking
  • Category-wise spending analysis
  • Time-based financial reports
  • Cross-category aggregation

Architecture Highlights

  • Core business logic packaged as reusable DLL
  • Clean separation between Model, View, and Presenter layers
  • SQLite database with normalized schema and foreign key relationships
  • Secure password hashing for user authentication

Project Structure

HomeBudget/
├── Models/          # Data models (Category, Transaction, BudgetItem)
├── Services/        # Business logic (Auth, Database, Category, Transaction)
├── Presenter/       # MVP presenter layer
└── Views/           # WPF presentation layer

Quick Start

// Initialize budget system
var budget = new HomeBudget("budget.db");
budget.LoadDatabase();

// Add transaction
budget.transactions.Add(DateTime.Now, categoryId, 50.00m, "Grocery shopping");

// Generate monthly report
var report = budget.GetBudgetItemsByMonth(
    DateTime.Now.AddMonths(-1), 
    DateTime.Now, 
    filterFlag: false, 
    categoryId: 0
);

License

GNU General Public License

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors