How mohamedaliglaa/taxi-booking-api works
This repository is a Laravel backend for a ride-hailing service. Passengers or guests enter through API routes to request and manage rides; drivers receive ride opportunities and update status or location, while payments and notifications support the trip lifecycle. Admin APIs manage rides, drivers, promotions, users, and dashboard data. The graph includes the visible controller-to-model/job/event flow and documented route/event wiring; several listed capabilities have unsampled implementations, so their internal links are omitted where evidence is unavailable.
Main entry points: PaymentController.php Payment management · api.php API routes · RideController.php Ride management · SendRideNotification.php Ride notifications
Components 25
API and administration
- API routes
routes/api.php - Authentication
app/Http/Controllers/Api/AuthController.php - Admin APIs
app/Http/Controllers/Api/Admin - User profiles
app/Models/User.php
Ride operations
- Ride management
app/Http/Controllers/Api/RideController.php - Ride records
app/Models/Ride.php - Driver profiles
app/Models/Driver.php - Location tracking
app/Http/Controllers/Api/LocationController.php - Location records
app/Models/Location.php - Vehicles
app/Models/Vehicle.php - Ride status event
app/Events/RideStatusUpdated.php - Ride requested event
app/Events/RideRequested.php - Nearby driver dispatch
app/Listeners/NotifyNearbyDrivers.php
Payments
- Payment management
app/Http/Controllers/Api/PaymentController.php - Payment records
app/Models/Payment.php - Payment status
app/Services/PaymentStatusService.php
Notifications
- Ride notifications
app/Jobs/SendRideNotification.php - Email job
app/Jobs/SendBrevoEmailJob.php - Email delivery
app/Services/BrevoEmailService.php - SMS job
app/Jobs/SendSmsJob.php - SMS delivery
app/Services/Sms/BrevoSmsService.php
Other components
- Passenger or guest
- Driver
- Stripe
- Brevo service
Connections 33
- Passenger or guest → API routes: requests API
routes/api.php - Driver → API routes: uses API
routes/api.php - API routes → Authentication: routes to
routes/api.php - API routes → Ride management: routes to
routes/api.php - API routes → Location tracking: routes to
routes/api.php - API routes → Payment management: routes to
routes/api.php - API routes → Admin APIs: routes to
routes/api.php - Authentication → User profiles: uses
app/Http/Controllers/Api/AuthController.php - Ride management → Ride records: reads and updates
app/Http/Controllers/Api/RideController.php - Ride management → Driver profiles: queries drivers
app/Http/Controllers/Api/RideController.php - Ride management → Ride status event: broadcasts
app/Http/Controllers/Api/RideController.php - Ride management → Ride notifications: dispatches
app/Http/Controllers/Api/RideController.php - Ride management → Email job: dispatches
app/Http/Controllers/Api/RideController.php - Location tracking → Location records: updates
app/Http/Controllers/Api/LocationController.php - Location tracking → Driver profiles: queries drivers
app/Http/Controllers/Api/LocationController.php - Location tracking → Ride requested event: broadcasts location
app/Http/Controllers/Api/LocationController.php - Ride requested event → Nearby driver dispatch: handled by
app/Providers/EventServiceProvider.php - Nearby driver dispatch → Ride notifications: dispatches
- Ride notifications → User profiles: notifies
app/Jobs/SendRideNotification.php - Ride notifications → Email job: dispatches
- Payment management → Payment records: creates and reads
app/Http/Controllers/Api/PaymentController.php - Payment management → Ride records: reads and updates
app/Http/Controllers/Api/PaymentController.php - Payment management → Payment status: uses
app/Http/Controllers/Api/PaymentController.php - Payment management → Email job: dispatches
app/Http/Controllers/Api/PaymentController.php - Payment management → SMS job: dispatches
app/Http/Controllers/Api/PaymentController.php - Payment management → Stripe: creates checkout
app/Http/Controllers/Api/PaymentController.php - Email job → Email delivery: invokes
app/Jobs/SendBrevoEmailJob.php - Email delivery → Brevo service: sends email
app/Services/BrevoEmailService.php - SMS job → SMS delivery: invokes
app/Jobs/SendSmsJob.php - SMS delivery → Brevo service: sends SMS
- Admin APIs → Ride records: manages rides
app/Http/Controllers/Api/Admin/RideController.php - Admin APIs → Ride notifications: dispatches notifications
app/Http/Controllers/Api/Admin/RideController.php - Admin APIs → Email job: dispatches email
app/Http/Controllers/Api/Admin/RideController.php