Private
Public Access
1
0
Commit Graph

6 Commits

Author SHA1 Message Date
Catherine Renelle dc4fd692ba Limit dashboard spending to top 10 categories and fix nav double-highlight
Show top 10 categories in spending breakdown with label indicating the limit.
Fix account-scoped transactions highlighting both Accounts and Transactions
nav items by excluding sub-route match when account-transactions is active.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 15:59:27 -05:00
Catherine Renelle d5c90a9197 Include uncategorized spending and show all categories on dashboard
Remove CategoryId.HasValue filter so uncategorized transactions appear
in the spending breakdown. Remove Take(N) limit to show all categories.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 15:42:04 -05:00
Catherine Renelle bcb4a74158 Fix Dashboard top categories query translation error
EF Core cannot translate GroupBy with a navigation property
(Category.Name) joined via nullable FK into SQL. Split into two
queries: group by CategoryId server-side, then look up category
names in a separate query.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 00:34:52 -05:00
Catherine Renelle edc32367d4 Fix Dashboard query: replace Math.Abs with negation in GroupBy
Math.Abs() inside a GroupBy().Select() cannot be translated to
SQL by EF Core. Since the query already filters for Amount < 0,
negating the sum produces the same result and translates cleanly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 00:22:34 -05:00
Catherine Renelle 8ca2dbd763 Fix transaction action buttons layout and Dashboard UTC error
Wrap edit/delete buttons in a flex container so they render
side by side instead of stacking. Fix Dashboard DateTime to use
UTC kind, which Npgsql requires for timestamp comparisons.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 23:58:28 -05:00
Catherine Renelle 6520ebf221 Initial commit: Purrse personal finance app
Self-hosted, plugin-extensible personal finance manager built with
ASP.NET Core 9.0, Vue 3 + Vuetify 3, and PostgreSQL 17.

Backend (8 .NET projects):
- Core: 19 domain models, 6 enums, 14 DTOs, 12 service interfaces
- Data: EF Core DbContext, 16 entity configurations, category seeder
- API: 14 controllers, 15 services, JWT auth, SignalR, middleware
- Plugins: Abstractions + OFX/CSV/QIF file parsers
- Tests: 28 xUnit tests (fingerprinting, duplicate detection, parsers)

Frontend (Vue 3 + Vuetify 3 + TypeScript):
- 13 views, Pinia stores, Axios API services with JWT interceptors
- Dashboard, accounts, transactions, categories, imports, and more

Deployment:
- Docker Compose (PostgreSQL 17 + .NET API + nginx frontend)
- Auto-migration on startup

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 08:56:46 -05:00