A modern, full-stack web application for managing mechanic shop operations, built with Blazor WebAssembly and ASP.NET Core. This system streamlines work orders, billing, customer management, real-time updates, and more.
- Work Order Management: Create, update, schedule, and track work orders.
- Customer & Vehicle Management: Manage customer profiles and their vehicles.
- Billing & Invoicing: Issue invoices, view invoice details, and download PDFs.
- Real-Time Updates: Live work order status via SignalR.
- Role-Based Access: Secure endpoints and UI with authentication and authorization.
- Dashboard & Reporting: View daily stats and shop performance.
- Backend: ASP.NET Core Web API (.NET )
- Database: Entity Framework Core (SQL Server)
- Authentication: JWT Bearer, ASP.NET Core Identity
- Real-Time: SignalR
- Logging: Serilog
- Patterns: Dependency injection, CQRS Pattern, Result Pattern
-
Clone the repository:
-
Configure the database:
- Update the connection string in
appsettings.json(in the API project) to point to your SQL Server instance.
- Update the connection string in
-
Apply database migrations:
-
Run the solution:
- Open in Visual Studio 2022 and set
MechanicShop.Apias the startup project. - Press F5 to build and run both the API and Blazor client.
- Access the app:
- Navigate to
https://localhost:5001(or the port shown in the console).
- Swagger UI is available in development mode at
/swagger.
MechanicShop.Api- ASP.NET Core Web API (backend)MechanicShop.Infrastructure- Data access, EF Core, and integrationsMechanicShop.Domain- Core business logic and modelsMechanicShop.Application- Application services and CQRS handlers
Contributions are welcome! Please open issues or submit pull requests for improvements or bug fixes.
This project is licensed under the MIT License.