Ordo Centralis
Personal finance & project system

Ordo Centralis is my personal finance and project management system. I built it because no existing solution did things exactly the way I needed — and because I thought it would take a weekend. It didn't.
The system has 39 entities and 32+ feature modules, running on CQRS architecture (MediatR), .NET 8 backend, Angular 21 frontend, PostgreSQL database.
Bank import is one of the most serious parts. It supports four Hungarian banks: OTP (XLSX, parsed with ClosedXML), K&H (tab-delimited CSV), Erste (JSON, extracts account number from filename), and Revolut (CSV). Each bank has its own parser via Factory pattern. Duplicate detection uses ImportHash: a hash generated from AccountId + Date + Amount + Partner + Description. Batch processing in 200-row chunks, with per-row status tracking (Processed/Skipped/Duplicate).
Transaction categorization works two ways: rule-based (CategoryMappingRule — Partner/Description regex matching, runs automatically after import) and AI-based (Ollama local LLM integration, processes 10 transactions per batch, confidence scoring 0-100). If Ollama is unavailable, graceful degradation: rules only.
Investment tracking: full range of Hungarian government bonds — MAK, BMAP, DKJ, PMAP, ZMAP, FMAP, SuperÁllampapír, and EUR bonds. ISIN code, face value, current market value, interest rate, accrued interest, maturity date.
Loan management: amortization schedule calculation with fixed/variable/mixed interest types. Hungarian loan types: mortgage, Otthon Start, Babaváró, CSOK, Otthon Támogatás, personal, car. Monthly payment tracking with bank fees.
Wedding planner: guest list split by side (groom/bride), 15 relationship types, expense management across 10 categories (music, photography, venue, decoration, etc.), per-person vs. total cost calculation, guest map display with GPS coordinates, accommodation capacity management with guest assignments.
Exchange rates: MNB (Hungarian National Bank) API integration, daily refresh, HUF/EUR conversion, fetch performance logging (DurationMs).
Film module: ported from the Ordo Kino MVP — nCore integration with AI chat, media playback, token-based streaming.
Access control is project-based: Owner, Manager, Member, Viewer roles. My partner and I use it together — this isn't a demo project, it's the actual system we manage our finances with.

