A full-featured personal finance tracking web application built with ASP.NET Core MVC and Microsoft SQL Server. Users can manage their income and expenses, filter and sort transactions, and view a comprehensive monthly financial summary β all behind a secure authentication system.
- Authentication β Register, Login, and Logout using ASP.NET Core Identity
- Transaction Management β Full CRUD for income and expense transactions
- Filtering β Filter by category, type (income/expense), date range, and keyword/description search
- Sorting β Sort transactions by price or date (ascending/descending)
- Monthly Summary β Filter by month to view:
- β Total Income
- β Total Expenses
- π Net Balance
- Clean Architecture β Repository pattern, Service layer, DTOs, ViewModels, and AutoMapper
| Layer | Technology |
|---|---|
| Framework | ASP.NET Core MVC (.NET Core) |
| Language | C# |
| Database | Microsoft SQL Server (SSMS) |
| ORM | Entity Framework Core |
| Auth | ASP.NET Core Identity |
| Mapping | AutoMapper |
| Pattern | Repository + Service + DTO + ViewModel |
π FinanceTrackerApp/
βββ π Areas/
βββ π Controllers/
βββ π Data/
βββ π DTOs/
βββ π Helpers/
βββ π Interfaces/
βββ π Mappings/
βββ π Migrations/
βββ π Models/
βββ π Properties/
βββ π Repositories/
βββ π Services/
βββ π ViewModels/
βββ π Views/
βββ π wwwroot/
βββ π appsettings.json
βββ π Program.cs
βββ π ScaffoldingReadMe.txt
- Clone the repository
git clone https://github.com/YOUR_USERNAME/finance-tracker-app.git
cd finance-tracker-app-
Configure the database connection
Add your connection string via User Secrets (recommended):
dotnet user-secrets init
dotnet user-secrets set "ConnectionStrings:DefaultConnection" "Server=YOUR_SERVER;Database=FinanceTrackerDB;Trusted_Connection=True;"Or update appsettings.json directly (do not commit real credentials).
- Apply migrations
dotnet ef database update- Run the app
dotnet run- Open your browser at
https://localhost:5001