How prameshwarkumarpatel/smartcab-booking works
Cab Booking System is a full-stack marketplace for passenger rides, driver operations, and administration. Passengers register or sign in, estimate and book rides, follow assignment and live status, then pay and review; drivers register for approval, receive requests, and update ride progress. The graph includes documented authentication, wallet, coupons, reporting, and admin capabilities. Some route/controller variants coexist in the tree, and several subsystems are unsampled, so uncertain wiring is left out.
Main entry points: models Ride and account data · rideController.js Ride workflow · api.ts API client · admin Admin console
Components 22
Web applications
- Next.js pages
frontend/src/app - Driver console
frontend/src/app/driver - Admin console
frontend/src/app/admin - API client
frontend/src/services/api.ts - Live tracking client
frontend/src/lib/socket.ts
Ride operations
- Express API
backend/src/server.js - Ride endpoints
backend/src/routes/ride.routes.js - Ride workflow
backend/src/controllers/rideController.js - Driver assignment
backend/src/services/driverAssignmentService.js - Fare calculation
backend/src/utils/fareCalculator.js - Payments
backend/src/services/paymentService.js
Identity and admin
- Authentication
backend/src/services/authService.js - Auth endpoints
backend/src/routes/auth.js - Admin features
backend/src/controllers
Platform services
- Ride and account data
backend/src/models - Notifications
backend/src/services/notificationService.js - Realtime updates
backend/src/socket.js - Scheduled rides
backend/src/jobs/scheduler.js
Other components
- Passenger
- Driver
- Administrator
- MongoDB
Connections 26
- Passenger → Next.js pages: uses
- Driver → Driver console: uses
- Administrator → Admin console: uses
- Next.js pages → API client: requests
- Driver console → API client: requests
- Admin console → API client: requests
- API client → Express API: HTTP calls
- Express API → Ride endpoints: dispatches
- Ride endpoints → Ride workflow: invokes
- Ride workflow → Fare calculation: calculates fare
- Ride workflow → Driver assignment: starts assignment
- Ride workflow → Payments: creates payment
- Ride workflow → Notifications: sends updates
- Driver assignment → Notifications: notifies users
- Ride workflow → Ride and account data: reads and writes
- Driver assignment → Ride and account data: reads and writes
- Payments → Ride and account data: records payments
- Express API → Auth endpoints: dispatches
- Auth endpoints → Authentication: invokes
- Authentication → Ride and account data: records sessions
- Admin console → Admin features: manages
- Admin features → Ride and account data: administers accounts
- Live tracking client → Realtime updates: connects
- Realtime updates → Driver console: streams ride updates
- Scheduled rides → Ride and account data: processes scheduled rides
- Ride and account data → MongoDB: persists