How glavyanov/carhire works
CarHire is an ASP.NET vehicle-rental application: users register, browse vehicles by category or collection, inspect vehicle details and renter comments, submit rental details, and later return rented vehicles. Separate management and administration areas support catalog updates, comments, discounts, and role assignment. The graph follows the documented workflows and the sampled service/repository code; several controller and service implementations are listed in the tree but were not excerpted, so those links rely on README statements or are omitted where ownership is unclear.
Main entry points: Repository.cs Repository access · VehicleService.cs Vehicle service · VehiclesController.cs Public web · CommentController.cs Renter comments
Components 20
Rental experience
- Public web
CarHire/Controllers/VehiclesController.cs - Vehicle catalog
CarHire.Core/Services/VehicleService.cs - Vehicle details
CarHire/Controllers/VehiclesController.cs - Renter comments
CarHire/Controllers/CommentController.cs - Rental and return
CarHire/Controllers/RentController.cs
Catalog management
- Manager area
CarHire/Areas/Management/Controllers/HomeController.cs - Category management
CarHire/Areas/Management/Controllers/CategoryController.cs - Discount management
CarHire/Areas/Management/Controllers/DiscountController.cs
Identity and access
- User accounts
CarHire/Controllers/UserController.cs - Role administration
CarHire/Areas/Administration/Controllers/RoleController.cs
Domain services
- Category service
CarHire.Core/Services/CategoryService.cs - Vehicle service
CarHire.Core/Services/VehicleService.cs - Rent service
CarHire.Core/Services/RentService.cs - Comment service
CarHire.Core/Services/CommentService.cs - Discount service
CarHire.Core/Services/DiscountService.cs - User service
CarHire.Core/Services/UserService.cs
Persistence
- Repository access
CarHire.Infrastructure/Data/Common/Repository.cs - EF data context
CarHire.Infrastructure/Data/ApplicationDbContext.cs - Application database
Other components
- Renter
Connections 18
- Renter → Public web: browses
README.md - Public web → Vehicle catalog: lists vehicles
CarHire/Controllers/VehiclesController.cs - Renter → Vehicle details: views details
README.md - Renter → Renter comments: views comments
README.md - Renter → Rental and return: rents and returns
README.md - Renter → User accounts: registers
README.md - Role administration → User service: manages roles
CarHire/Areas/Administration/Controllers/RoleController.cs - Manager area → Vehicle service: edits vehicles
CarHire/Areas/Management/Controllers/HomeController.cs - Category management → Category service: manages categories
CarHire/Areas/Management/Controllers/CategoryController.cs - Discount management → Discount service: manages discounts
CarHire/Areas/Management/Controllers/DiscountController.cs - Vehicle details → Vehicle service: loads details
CarHire/Controllers/VehiclesController.cs - Renter comments → Comment service: loads comments
CarHire/Controllers/CommentController.cs - Rental and return → Rent service: processes rental
CarHire/Controllers/RentController.cs - Vehicle service → Repository access: queries and saves
CarHire.Core/Services/VehicleService.cs - Rent service → Repository access: queries and saves
CarHire.Core/Services/RentService.cs - Discount service → Repository access: queries and saves
CarHire.Core/Services/DiscountService.cs - Repository access → EF data context: uses context
CarHire.Infrastructure/Data/Common/Repository.cs - EF data context → Application database: persists entities