Skip to content

ArghaRay00/ExpenseManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Expense Manager

A personal expense tracking app built with ASP.NET Core MVC. Add, view, and manage expense reports through a web interface. Uses Entity Framework Core with SQL Server for persistence and follows a clean layered architecture with dependency injection.

Built this to practice proper separation of concerns in .NET — controller, service, and repository layers all wired through DI, with antiforgery token middleware and async/await throughout.

Architecture

Controllers (ExpenseController, HomeController)
    ↓
Services (IExpenseService → ExpenseService)
    ↓
Repositories (IExpenseRepository → ExpenseRepository → BaseRepository)
    ↓
EF Core (ExpenseDBContext → SQL Server LocalDB)

Tech Stack

  • ASP.NET Core 2.1 MVC
  • Entity Framework Core 2.2 — Code-First with migrations
  • SQL Server LocalDB — development database
  • Dependency Injection — service and repository interfaces
  • Antiforgery Token Middleware — CSRF protection on all state-changing requests

Project Structure

ExpenseManager/
├── Controllers/          # MVC controllers (Expense, Home)
├── Services/             # Business logic layer (IExpenseService)
├── Repositories/         # Data access (IExpenseRepository, BaseRepository)
├── Persistence/
│   └── Contexts/         # EF Core DbContext
├── Models/               # ExpenseReport, ErrorViewModel
├── Extensions/           # Antiforgery token middleware
├── Views/                # Razor templates
├── Migrations/           # EF Core migrations
└── wwwroot/              # Static assets (CSS, JS)

Running it

  1. Open ExpenseManager.sln in Visual Studio
  2. Restore NuGet packages
  3. Run migrations: Update-Database in Package Manager Console
  4. F5 to run (launches on https://localhost)

Requires SQL Server LocalDB.

Note

Built in 2020 as a learning project for ASP.NET Core MVC patterns — DI, repository pattern, EF Core migrations, middleware pipeline.

About

Personal expense tracker with ASP.NET Core MVC — EF Core, SQL Server, repository pattern, DI, antiforgery middleware.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors