How yasterjoshua14/lodging-management-system works
This is a CodeIgniter lodging-management application for tenant self-service and admin operations. Tenants browse rooms, create bookings, and proceed through PayMongo checkout; administrators manage rooms, tenants, and bookings and review dashboard reports. Authentication and role filters protect the portals, while models persist application records in the configured database. The README also describes payment history, receipts, and webhook-driven updates, but the supplied tree and excerpts do not establish a webhook handler or its wiring, so those links are not inferred.
Main entry points: Routes.php Route dispatch · TenantBookingsController.php Tenant bookings · BookingModel.php Booking records · SearchController.php Portal search
Components 22
Web entry and access
- Route dispatch
app/Config/Routes.php - Authentication
app/Controllers/AuthController.php - Access filters
app/Filters
Tenant portal
- Tenant bookings
app/Controllers/TenantBookingsController.php - Tenant account
app/Controllers/TenantAccountController.php - Portal search
app/Controllers/SearchController.php - Tenant pages
app/Views/tenant
Admin operations
- Room management
app/Controllers/AdminRoomsController.php - Tenant management
app/Controllers/AdminTenantsController.php - Booking management
app/Controllers/AdminBookingsController.php - Admin dashboard
app/Controllers/AdminDashboardController.php - Admin pages
app/Views/admin
Booking and payments
- Availability checks
app/Libraries/BookingAvailability.php - PayMongo checkout
app/Libraries/PayMongoCheckout.php
Persistence
- Room records
app/Models/RoomModel.php - Booking records
app/Models/BookingModel.php - Tenant records
app/Models/TenantModel.php - User records
app/Models/UserModel.php - Admin reports
app/Models/AdminReportModel.php - SQL database
app/Config/Database.php
Other components
- Portal user
- PayMongo
Connections 40
- Portal user → Route dispatch: sends request
- Route dispatch → Authentication: dispatches login
- Route dispatch → Access filters: applies filters
- Route dispatch → Tenant bookings: dispatches tenant routes
- Route dispatch → Tenant account: dispatches account routes
- Route dispatch → Portal search: dispatches search
- Route dispatch → Room management: dispatches room routes
- Route dispatch → Tenant management: dispatches tenant routes
- Route dispatch → Booking management: dispatches booking routes
- Route dispatch → Admin dashboard: dispatches dashboard
- Authentication → User records: reads and writes
- Authentication → Tenant records: creates profile
- Tenant bookings → Availability checks: checks dates
- Tenant bookings → Room records: loads room
- Tenant bookings → Booking records: creates and updates
- Tenant bookings → Tenant records: loads tenant
- Tenant bookings → PayMongo checkout: creates checkout
- PayMongo checkout → PayMongo: requests payment link
- Room management → Room records: manages records
- Room management → Booking records: checks room bookings
- Tenant management → Tenant records: manages records
- Tenant management → User records: deletes linked users
- Tenant management → Booking records: deletes tenant bookings
- Booking management → Booking records: manages records
- Admin dashboard → Admin reports: loads summaries
- Portal search → Room records: searches rooms
- Portal search → Booking records: searches bookings
- Portal search → Tenant records: searches profiles
- Room records → SQL database: reads and writes
- Booking records → SQL database: reads and writes
- Tenant records → SQL database: reads and writes
- User records → SQL database: reads and writes
- Admin reports → SQL database: reads summaries
- Tenant bookings → Tenant pages: renders pages
- Tenant account → Tenant pages: renders pages
- Portal search → Tenant pages: renders results
- Room management → Admin pages: renders pages
- Tenant management → Admin pages: renders pages
- Booking management → Admin pages: renders pages
- Admin dashboard → Admin pages: renders dashboard