How clarklearnstocode/dxdiag works
EstateBook is a PHP property-rental booking application. Guests browse listings, authenticate, reserve dates, manage bookings, and review completed stays; administrators manage properties, reservations, users, and announcements. The front controller dispatches requests to domain controllers, which use PDO and render PHP views. Authentication includes TOTP, and a front-controller-triggered service releases expired bookings. The README is empty, so feature coverage comes from the tree and sampled files; unsampled controller behavior is represented cautiously.
Main entry points: index.php Route dispatcher · AuthController.php Authentication and profile · PropertyController.php Property and booking actions · Database.php PDO connection
Components 19
Request entry
- Route dispatcher
public/index.php
Guest experience
- Authentication and profile
app/controllers/AuthController.php - TOTP verification
app/services/TOTPService.php - Login and MFA views
app/views/login.php - Property and booking actions
app/controllers/PropertyController.php - Booking routes
app/controllers/BookingController.php - Browse and property views
app/views/landing.php - Reservation and review views
app/views/User/book_property.php - Guest account views
app/views/User/dashboard.php - Guest navigation
app/views/User/_user_navbar.php
Administration
- Admin operations
app/controllers/AdminController.php - Admin console views
app/views/Admin/admin_dashboard.php - Admin navigation
app/views/Admin/_sidebar.php
Domain and persistence
- User lookup
app/models/Users.php - Property queries
app/models/Property.php - Expired booking release
app/services/AutoRelease.php - PDO connection
config/Database.php - EstateBook database
config/u367097290_estatebook.sql
Other components
- Guest or admin
Connections 22
- Guest or admin → Route dispatcher: requests
public/index.php - Route dispatcher → Authentication and profile: dispatches
public/index.php - Route dispatcher → Property and booking actions: dispatches
public/index.php - Route dispatcher → Booking routes: dispatches
public/index.php - Route dispatcher → Admin operations: dispatches
public/index.php - Route dispatcher → Expired booking release: runs
public/index.php - Authentication and profile → User lookup: uses
app/controllers/AuthController.php - Authentication and profile → TOTP verification: uses
app/controllers/AuthController.php - Authentication and profile → PDO connection: connects
app/controllers/AuthController.php - Authentication and profile → Login and MFA views: renders
app/controllers/AuthController.php - Property and booking actions → Property queries: queries
app/controllers/PropertyController.php - Property and booking actions → PDO connection: connects
app/controllers/PropertyController.php - Property and booking actions → Browse and property views: renders
app/controllers/PropertyController.php - Property and booking actions → Reservation and review views: renders
app/controllers/PropertyController.php - Admin operations → Property queries: uses
app/controllers/AdminController.php - Admin operations → PDO connection: connects
app/controllers/AdminController.php - Admin operations → Admin console views: renders
app/controllers/AdminController.php - Admin console views → Admin navigation: includes
app/views/Admin/admin_dashboard.php - Guest navigation → Route dispatcher: requests notifications
app/views/User/_user_navbar.php - Expired booking release → Property queries: uses
app/services/AutoRelease.php - Route dispatcher → PDO connection: connects
public/index.php - PDO connection → EstateBook database: connects