← Back to Projects
Deployed Desktop App

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

Real-time dashboard with revenue/expense charts (LiveCharts2 SkiaSharp)
Global search with 300ms debounced autocomplete (plate + customer name)
Multi-line batch service entry with per-line technician assignment
Multi-currency debt & payment tracking (TL/USD/EUR) with auto-calculated balances
Automated Excel exports,fire-and-forget regeneration on every data change
Auto-timestamped SQLite backup system with 30-backup retention
28 integration tests (xUnit + EF Core InMemory)
Inno Setup installer producing ~58MB self-contained Windows exe

Architecture

WPF (.NET 8) → Clean Architecture (MVVM + Repository + Unit of Work + Service Layer) → EF Core → SQLite → LiveCharts2 → Inno Setup

Preview

Auto Shop Manager view 1
Auto Shop Manager view 2
Auto Shop Manager view 3
Auto Shop Manager view 4

Tech Stack

WPF.NET 8SQLiteEF CoreMaterialDesignInXAMLCommunityToolkit.MvvmLiveCharts2ClosedXMLSerilogxUnitInno Setup