MechanicShop — Full-Stack Auto Repair Shop Management System
A comprehensive auto repair shop management platform built with .NET 10, Angular 21 (SSR), PostgreSQL, SignalR, and deployed to Azure Container Apps.
Key Features:
- Role-based access control (Manager, Labor) with granular permissions
- Full work order lifecycle state machine (Scheduled → InProgress → Completed / Cancelled) with labor assignment, spot allocation, and repair task grouping
- Customer & vehicle management with search, sort, and filter
- Daily scheduling with timezone support, conflict detection for spots, labor, and vehicles
- Billing & invoicing with auto-calculated totals, tax, discounts, and PDF generation (QuestPDF)
- Real-time dashboard with KPIs: order status counts, revenue breakdown, profit margin, completion rate
- Real-time SignalR push notifications for work order updates
- Automatic background cleanup of no-show bookings past grace period
- Rate limiting, hybrid caching, and full observability stack
Backend Architecture:
- Clean Architecture with CQRS/MediatR pipeline behaviors
- Result pattern with strongly typed errors (no exceptions for control flow)
- Hybrid Cache (L1 in-process + L2 PostgreSQL) — no Redis needed
- EF Core 10 with PostgreSQL 18, ASP.NET Core Identity
- QuestPDF for invoice generation
- OpenTelemetry + Serilog for distributed tracing and structured logging
Frontend Architecture:
- Angular 21 with SSR (Server-Side Rendering) for SEO and initial load performance
- NgRx Signal Store for reactive state management
- Angular Material component library
- Route guards and JWT auth interceptor with silent token refresh
CI/CD & Infrastructure:
- Docker Compose for local development
- GitHub Actions for CI/CD
- Terraform-deployed infrastructure on Azure Container Apps
- Two separate containers: API (internal) and Angular Client (external)
- Scale-to-zero for cost efficiency
- Images published to GitHub Container Registry