How dimitar-grigorov/garagebuddy works
Garage Buddy is an ASP.NET Core MVC garage-management application. Its visible workflows cover public home and garage information, administrator maintenance of garage/customer/vehicle data, and account registration, login, and password recovery. The domain also includes jobs, job items, parts, documents, and statuses for service tracking, although the README marks service tracking as work in progress. The graph preserves those domain stages; unsampled job implementation is represented at its existing service directory. Edges are limited to relationships documented in the README or visible in the supplied excerpts and SOURCE INDEX.
Main entry points: ApplicationDbContext.cs Application database · Services Job services · Controllers Admin management · GarageService.cs Garage service
Components 27
Web application
- Home pages
src/Web/GarageBuddy.Web/Controllers/HomeController.cs - Admin management
src/Web/GarageBuddy.Web/Areas/Admin/Controllers - Account flows
src/Web/GarageBuddy.Web/Controllers/UserController.cs - Controller base
src/Web/GarageBuddy.Web/Controllers/BaseController.cs - Mail view renderer
src/Web/GarageBuddy.Web.Infrastructure/ViewRenderer/ViewRenderer.cs
Application services
- Garage service
src/Services/GarageBuddy.Services.Data/Services/GarageService.cs - Vehicle services
src/Services/GarageBuddy.Services.Data/Services - Customer services
src/Services/GarageBuddy.Services.Data/Services/CustomerService.cs - User service
src/Services/GarageBuddy.Services.Data/Services/UserService.cs - Job services
src/Services/GarageBuddy.Services.Data/Services
Garage domain
- Garage model
src/Data/GarageBuddy.Data.Models/Garage.cs - Vehicle model
src/Data/GarageBuddy.Data.Models/Vehicle/Vehicle.cs - Customer model
src/Data/GarageBuddy.Data.Models/Customer.cs - Vehicle catalog
src/Data/GarageBuddy.Data.Models/Vehicle/Brand.cs - Job records
src/Data/GarageBuddy.Data.Models/Job/Job.cs - Job details
src/Data/GarageBuddy.Data.Models/Job/JobItem.cs - Job documents
src/Data/GarageBuddy.Data.Models/Job/JobDocument.cs - Job parts
src/Data/GarageBuddy.Data.Models/Job/JobItemPart.cs - Job statuses
src/Data/GarageBuddy.Data.Models/Job/JobStatus.cs
Persistence and setup
- Application database
src/Data/GarageBuddy.Data/ApplicationDbContext.cs - EF repositories
src/Data/GarageBuddy.Data/Repositories/EfRepository.cs - Initial data seeders
src/Data/GarageBuddy.Data/Seeding/ApplicationDbContextSeeder.cs
Messaging
- Email service
src/Services/GarageBuddy.Services.Messaging/Services/EmailService.cs - SMTP sender
src/Services/GarageBuddy.Services.Messaging/Email/SmtpMailSender.cs
Other components
- Mechanic or visitor
- Garage administrator
- SMTP server
Connections 31
- Mechanic or visitor → Home pages: opens
src/Web/GarageBuddy.Web/Controllers/HomeController.cs - Garage administrator → Admin management: manages records
- Admin management → Garage service: calls
src/Web/GarageBuddy.Web/Areas/Admin/Controllers/GarageController.cs - Admin management → Vehicle services: calls
src/Web/GarageBuddy.Web/Areas/Admin/Controllers/VehicleController.cs - Admin management → Customer services: calls
src/Web/GarageBuddy.Web/Areas/Admin/Controllers/VehicleController.cs - Home pages → Garage service: queries
src/Web/GarageBuddy.Web/Controllers/HomeController.cs - Home pages → Vehicle services: queries brands
src/Web/GarageBuddy.Web/Controllers/HomeController.cs - Account flows → User service: authenticates
src/Web/GarageBuddy.Web/Controllers/UserController.cs - Account flows → Email service: sends reset mail
src/Web/GarageBuddy.Web/Controllers/UserController.cs - Account flows → Mail view renderer: renders mail view
src/Web/GarageBuddy.Web/Controllers/UserController.cs - Controller base → Mechanic or visitor: sanitizes input
src/Web/GarageBuddy.Web/Controllers/BaseController.cs - Garage service → EF repositories: queries and saves
src/Services/GarageBuddy.Services.Data/Services/GarageService.cs - Garage service → Garage model: maps
src/Services/GarageBuddy.Services.Data/Services/GarageService.cs - EF repositories → Application database: accesses
src/Data/GarageBuddy.Data/Repositories/EfDeletableEntityRepository.cs - Application database → Garage model: persists
src/Data/GarageBuddy.Data/ApplicationDbContext.cs - Application database → Vehicle model: persists
src/Data/GarageBuddy.Data/ApplicationDbContext.cs - Application database → Customer model: persists
src/Data/GarageBuddy.Data/ApplicationDbContext.cs - Application database → Job records: persists
src/Data/GarageBuddy.Data/ApplicationDbContext.cs - Application database → Job details: persists
src/Data/GarageBuddy.Data/ApplicationDbContext.cs - Application database → Job documents: persists
src/Data/GarageBuddy.Data/ApplicationDbContext.cs - Application database → Job parts: persists
src/Data/GarageBuddy.Data/ApplicationDbContext.cs - Application database → Job statuses: persists
src/Data/GarageBuddy.Data/ApplicationDbContext.cs - Application database → Vehicle catalog: persists
src/Data/GarageBuddy.Data/ApplicationDbContext.cs - Job services → Job records: handles
- Job services → Job details: handles
- Job services → Job documents: handles
- Job services → Job parts: handles
- Job services → Job statuses: handles
- Initial data seeders → Application database: seeds
- Email service → SMTP sender: sends through
src/Services/GarageBuddy.Services.Messaging/Services/EmailService.cs - SMTP sender → SMTP server: delivers mail