How davidmovsisyann/barbershopp works
Barbershopp is an ASP.NET MVC barber-shop site: visitors can browse barbers and services, register or log in, and submit a booking. PagesController assembles page data and handles booking and availability requests; application services use a unit of work and repositories for domain data. The user-management controller also queries the database context directly. The README is empty, and several service, repository, and view implementations were not sampled, so uncertain internal wiring is omitted.
Main entry points: PagesController.cs Pages controller · UnitOfWork.cs Unit of work · DataBaseContext.cs EF database context · GenericRepository.cs Generic repository
Components 22
Web experience
- Pages controller
Controllers/PagesController.cs - Users controller
Controllers/UsersController.cs - Site pages
Views/WebPages - User pages
Views/Users
Application services
- User service
Services/UserService.cs - Booking service
Services/BookingHistoryService.cs - Employee service
Services/EmployeeService.cs - Shop service
Services/ServiceService.cs
Persistence
- Unit of work
Repositories/UnitOfWork.cs - Generic repository
Repositories/GenericRepository.cs - Booking repository
Repositories/BookingHistoryRepository.cs - Employee repository
Repositories/EmployeeRepository.cs - Service repository
Repositories/ServiceRepository.cs - User repository
Repositories/UserRepository.cs - EF database context
Data/DataBaseContext.cs
Domain data
- User account
Entities/UserEntity.cs - Booking history
Entities/BookingHistoryEntity.cs - Barber employee
Entities/EmployeeEntity.cs - Barber service
Entities/BarberServicesEntity.cs - Page view model
Models/HomePageModels.cs
Other components
- Visitor
- SQL Server
Connections 30
- Visitor → Pages controller: requests pages
- Visitor → Users controller: requests account
- Pages controller → Site pages: renders
- Users controller → User pages: renders
- Pages controller → Page view model: assembles
- Pages controller → Employee service: loads barbers
- Pages controller → Shop service: loads services
- Pages controller → Booking service: submits booking
- Pages controller → Booking service: reads bookings
- Pages controller → Employee service: checks barber
- Users controller → User service: checks or changes account
- Users controller → EF database context: queries users
- User service → Unit of work: uses
- Booking service → Unit of work: uses
- Employee service → Unit of work: uses
- Shop service → Unit of work: uses
- Unit of work → Booking repository: provides repository
- Unit of work → Employee repository: provides repository
- Unit of work → Service repository: provides repository
- Unit of work → User repository: provides repository
- Booking repository → Generic repository: inherits
- Employee repository → Generic repository: inherits
- Service repository → Generic repository: inherits
- User repository → Generic repository: inherits
- Generic repository → EF database context: queries and tracks
- EF database context → SQL Server: reads and writes
- EF database context → User account: maps
- EF database context → Booking history: maps
- EF database context → Barber employee: maps
- EF database context → Barber service: maps