How jenothan/keysclub-backend works
This appears to be a KEYS Club badminton-court booking and membership application built on Laravel. Users check court availability, submit bookings, and can request membership; administrators manage bookings, blocked time, membership decisions, users, and club website data. The graph reflects controller responsibilities and the booking, membership, SMS, and upload interactions visible in sampled source. Routes and several controller implementations were not sampled, so their detailed wiring is intentionally limited.
Main entry points: api.php API routes · Booking.php Booking records · MembershipRequestController.php Membership requests · Court.php Club records
Components 27
HTTP entry
- API routes
routes/api.php - Authentication
app/Http/Controllers/AuthController.php
Court booking
- Availability lookup
app/Http/Controllers/AvailabilityController.php - Booking requests
app/Http/Controllers/BookingController.php - Booking administration
app/Http/Controllers/AdminBookingController.php - Blocked dates
app/Http/Controllers/AdminBlockedDateController.php - Recurring blocks
app/Http/Controllers/RecurringBlockedSlotController.php - Court management
app/Http/Controllers/CourtController.php
Club operations
- Membership requests
app/Http/Controllers/MembershipRequestController.php - Booking OTP
app/Http/Controllers/BookingOtpController.php - Member profile
app/Http/Controllers/ProfileController.php - Phone updates
app/Http/Controllers/PhoneUpdateController.php - Club inquiries
app/Http/Controllers/InquiryController.php - Website data
app/Http/Controllers/WebsiteDataController.php - Admin dashboard
app/Http/Controllers/AdminDashboardController.php - User administration
app/Http/Controllers/AdminUserController.php - Club administration
app/Http/Controllers/AdminManagementController.php
Shared services
- Booking records
app/Models/Booking.php - Membership records
app/Models/MembershipRequest.php - Club records
app/Models/Court.php - Application database
config/database.php - SMS service
app/Services/SmsService.php - File uploads
app/Services/CloudinaryService.php
Other components
- Visitor / member
- Club administrator
- SMSlenz
- Cloudinary
Connections 38
- Visitor / member → API routes: sends requests
- Club administrator → API routes: sends requests
- API routes → Authentication: dispatches auth
- API routes → Availability lookup: dispatches lookup
- API routes → Booking requests: dispatches booking
- API routes → Booking administration: dispatches admin actions
- API routes → Blocked dates: dispatches date controls
- API routes → Recurring blocks: dispatches block controls
- API routes → Court management: dispatches court actions
- API routes → Membership requests: dispatches requests
- API routes → Booking OTP: dispatches verification
- API routes → Member profile: dispatches profile
- API routes → Phone updates: dispatches phone updates
- API routes → Club inquiries: dispatches inquiries
- API routes → Website data: dispatches content
- API routes → Admin dashboard: dispatches dashboard
- API routes → User administration: dispatches user actions
- API routes → Club administration: dispatches management
- Availability lookup → Booking records: queries
- Availability lookup → Club records: queries
- Booking requests → Booking records: creates and checks
- Booking requests → Club records: checks court
- Booking requests → SMS service: sends messages
- Booking administration → Booking records: updates bookings
- Booking administration → SMS service: sends messages
- Blocked dates → Booking records: manages blocks
- Recurring blocks → Booking records: manages recurring blocks
- Court management → Club records: manages courts
- Membership requests → Membership records: creates and reviews
- Membership requests → SMS service: sends messages
- Membership requests → File uploads: uploads proof
- Membership requests → Club records: updates membership
- Booking OTP → SMS service: sends codes
- SMS service → SMSlenz: calls API
- File uploads → Cloudinary: uploads assets
- Booking records → Application database: reads and writes
- Membership records → Application database: reads and writes
- Club records → Application database: reads and writes