Track spending, import CSVs, and visualize your money.
Spendly is a personal finance web app built with ASP.NET Core MVC. Sign in to manage your own transaction history, import bank exports from CSV, group spending into buckets, and explore charts that summarize where your money goes.
- User accounts — Register and sign in with ASP.NET Core Identity (email confirmation required).
- Transaction history — View and work with transactions tied to your account after login.
- CSV import — Upload comma-separated files to add many transactions at once; uploads are stored under
wwwroot/uploads/. - Buckets — Create and edit spending categories (buckets) used to organize transactions for reporting.
- Reports & charts — Generate visual summaries of categorized expenses so patterns are easy to spot.
- REST API —
TransactionsControllerexposes transaction data under/api/transactionsfor programmatic access.
- Register an account and confirm your email.
- Define buckets that match how you categorize spending (e.g. groceries, rent, transport).
- Import a CSV with your bank or card export; the app parses and persists transactions.
- Review reports to see tables and charts built from your bucketed data.
| Layer | Technology |
|---|---|
| Runtime | .NET 8 |
| Web | ASP.NET Core MVC, Razor views |
| Data | Entity Framework Core, SQLite (Expense.db) |
| Auth | ASP.NET Core Identity with roles |
| Import | CsvHelper |
| UI | Bootstrap (Bootswatch Minty theme on the landing page) |
Prerequisites: .NET 8 SDK
git clone https://github.com/engdotme/FroggyFinances.git
cd FroggyFinances
dotnet restore
dotnet runOpen the URL shown in the console (typically https://localhost:7xxx). On first run, EF Core applies migrations and seeds sample data where configured in Program.cs.
Configuration: connection strings live in appsettings.json (SQLite DefaultConnection).
| Area | Purpose |
|---|---|
Controllers/ |
MVC controllers for home, buckets, CSV upload, reports, users, and the transactions API |
Services/ |
CSV parsing, bucket/transaction logic, upload file naming |
Data/ |
EF Core contexts, migrations, and seed data |
Views/ |
Razor UI for buckets, uploads, reports, and identity pages |
wwwroot/ |
Static assets, uploaded CSV files, and screenshots |
@engdotme — project owner
