Auto Shop Manager
WPF business app replacing Excel for ~50 vehicles/day
Auto Shop Manager is a freelance desktop ERP built for an auto electrical repair shop processing roughly 50 vehicles per day. The solution follows Clean Architecture across four .NET 8 projects,Core (entities, interfaces, enums, DTOs), Infrastructure (EF Core DbContext, repositories, services), UI (8 WPF pages + 5 modal dialogs + 13 ViewModels), and App (composition root with full DI configuration),all wired together with CommunityToolkit.Mvvm 8.4 using the Repository + Unit of Work + Service Layer pattern. The Material Design UI (MaterialDesignInXAML 5.3) is themed with Indigo primary and Amber accent, navigated via a fixed 220px sidebar. The dashboard shows real-time daily revenue and expense cards with percentage changes from the previous day, a monthly column chart overlaid with a line chart powered by LiveCharts2 with SkiaSharp rendering, plus the 10 most recent services and top 10 debtors sorted by outstanding balance. A global search bar with 300ms debounced autocomplete queries across license plates and customer names using culture-aware LIKE queries, returning top 20 results. The multi-line batch service entry form supports per-line complaint, work performed, technician assignment, quantity, unit price, and currency,with live-computed line totals saved as individual ServiceRecord entries in a single transaction. Multi-currency (TL/USD/EUR) debt and payment tracking automatically calculates running customer balances. A fire-and-forget Excel export system uses ClosedXML to regenerate per-vehicle customer cards, period reports (4-sheet workbooks with Summary, Services, Payments, Expenses), and daily/weekly/monthly/yearly reports on every data change,all non-blocking. Data reliability is handled by an auto-timestamped SQLite backup on every app startup with 30-backup retention and a configurable backup folder. Serilog provides daily rolling structured logs with 30-day retention. The project includes 28 integration tests with xUnit and EF Core InMemory, and distribution is handled by an Inno Setup installer producing a ~58 MB self-contained Windows executable with a Turkish-language wizard, desktop shortcuts, and proper uninstall registration. The app fully replaced the shop's manual Excel workflows on day one.
▹ Key Features
▹ Architecture
WPF (.NET 8) → Clean Architecture (MVVM + Repository + Unit of Work + Service Layer) → EF Core → SQLite → LiveCharts2 → Inno Setup



