How uhhhewankowalaakongmaisip/bettermvc works
bettermvc is an ASP.NET Core staycation-management web app. Guests can browse property units, while administrators and infodesk staff manage units; the app also includes identity, booking/document/approval domain models, and a PayMongo test-checkout flow. The sampled controllers establish unit browsing and staff CRUD, and the payment controller delegates checkout creation to the PayMongo service. Booking, guest-document, and approval models are represented in the data layer, but no corresponding workflow controllers were shown, so their runtime links are omitted. The README provides no further capability detail.
Main entry points: ApplicationDbContext.cs Persistence context · PropertyUnits.cs Property units · Bookings.cs Bookings · PayMongoService.cs Checkout service
Components 20
Guest browsing
- Browse units
Controllers/GuestController.cs - Payment flow
Controllers/PaymentController.cs - Checkout service
Services/PayMongoService.cs
Staff operations
- Admin management
Controllers/AdminController.cs - Infodesk management
Controllers/InfodeskController.cs - Unit images
Controllers/InfodeskController.cs
Stay domain
- Property units
Models/PropertyUnits.cs - Bookings
Models/Bookings.cs - Accounts
Models/Accounts.cs - Guest documents
Models/GuessDocuments.cs - PMO approvals
Models/PMO_Approval.cs - Add-ons
Models/Addons.cs - Payment model
Models/Payment.cs
App platform
- Persistence context
Data/ApplicationDbContext.cs - SQLite database
app.db - Web app setup
Program.cs - Home pages
Controllers/HomeController.cs - Error view model
Models/ErrorViewModel.cs
Other components
- Guest
- PayMongo
Connections 20
- Guest → Browse units: browses
Controllers/GuestController.cs - Browse units → Property units: reads
Controllers/GuestController.cs - Admin management → Property units: manages
Controllers/AdminController.cs - Admin management → Accounts: manages
Controllers/AdminController.cs - Infodesk management → Property units: manages
Controllers/InfodeskController.cs - Infodesk management → Unit images: saves
Controllers/InfodeskController.cs - Payment flow → Checkout service: requests checkout
Controllers/PaymentController.cs - Checkout service → PayMongo: creates session
Services/PayMongoService.cs - Payment flow → PayMongo: redirects guest
Controllers/PaymentController.cs - Web app setup → Persistence context: configures
Program.cs - Web app setup → Checkout service: registers
Program.cs - Persistence context → SQLite database: uses
- Persistence context → Accounts: stores
Data/ApplicationDbContext.cs - Persistence context → Property units: stores
Data/ApplicationDbContext.cs - Persistence context → Bookings: stores
Data/ApplicationDbContext.cs - Persistence context → Guest documents: stores
Data/ApplicationDbContext.cs - Persistence context → PMO approvals: stores
Data/ApplicationDbContext.cs - Bookings → Accounts: references guest
Models/Bookings.cs - Bookings → Property units: references unit
Models/Bookings.cs - Home pages → Error view model: creates
Controllers/HomeController.cs