How vikesh-bansal/whitelagoon works
WhiteLagoon is an ASP.NET MVC villa-rental application: guests browse date-available villas, register or sign in, create bookings, and pay; administrators manage villa inventory and review booking and dashboard data. The graph follows controller-to-service calls visible in excerpts and the registrations in Program.cs. Several service and controller implementations are unsampled, so their internal wiring and some integrations are not inferred.
Main entry points: BookingController.cs Booking workflow · UnitOfWork.cs Repository coordination · VillaService.cs Villa service · AmenityController.cs Amenity management
Components 23
Web experience
- Villa browsing
WhiteLagoon.Web/Controllers/HomeController.cs - Account access
WhiteLagoon.Web/Controllers/AccountController.cs - Booking workflow
WhiteLagoon.Web/Controllers/BookingController.cs - Villa management
WhiteLagoon.Web/Controllers/VillaController.cs - Amenity management
WhiteLagoon.Web/Controllers/AmenityController.cs - Room management
WhiteLagoon.Web/Controllers/VillaNumberController.cs - Dashboard
WhiteLagoon.Web/Controllers/DashboardController.cs
Application services
- Villa service
WhiteLagoon.Application/Services/Implementation/VillaService.cs - Booking service
WhiteLagoon.Application/Services/Implementation/BookingService.cs - Payment service
WhiteLagoon.Application/Services/Implementation/PaymentService.cs - Amenity service
WhiteLagoon.Application/Services/Implementation/AmenityService.cs - Room service
WhiteLagoon.Application/Services/Implementation/VillaNumberService.cs - Dashboard metrics
WhiteLagoon.Application/Services/Implementation/DashboardService.cs - Email service
WhiteLagoon.Application/Services/Implementation/EmailService.cs
Persistence
- Repository coordination
WhiteLagoon.Infrastructure/Repository/UnitOfWork.cs - Generic repository
WhiteLagoon.Infrastructure/Repository/Repository.cs - Application context
WhiteLagoon.Infrastructure/Data/ApplicationDbContext.cs - SQLite database
Rental domain
- Rental entities
WhiteLagoon.Domain/Entities
Other components
- Guest
- Administrator
- Stripe Checkout
- ASP.NET Identity
Connections 30
- Guest → Villa browsing: browses
- Villa browsing → Villa service: requests availability
- Guest → Account access: signs in
- Account access → ASP.NET Identity: authenticates
- Guest → Booking workflow: books stay
- Booking workflow → Villa service: loads villa
- Booking workflow → Booking service: creates booking
- Booking workflow → Payment service: creates session
- Booking workflow → Stripe Checkout: starts checkout
- Booking workflow → Booking service: updates payment
- Booking workflow → Stripe Checkout: checks payment
- Administrator → Villa management: manages villas
- Administrator → Amenity management: manages amenities
- Administrator → Room management: manages rooms
- Administrator → Booking workflow: manages bookings
- Amenity management → Amenity service: manages records
- Amenity management → Villa service: loads villas
- Room management → Room service: manages records
- Room management → Villa service: loads villas
- Administrator → Dashboard: views metrics
- Dashboard → Dashboard metrics: requests charts
- Dashboard metrics → Repository coordination: queries bookings and users
- Villa service → Repository coordination: reads and writes
- Booking service → Repository coordination: reads and writes
- Amenity service → Repository coordination: accesses repositories
- Room service → Repository coordination: accesses repositories
- Repository coordination → Generic repository: coordinates
- Generic repository → Application context: queries entities
- Application context → SQLite database: persists
- Application context → ASP.NET Identity: stores identity