How suryakiran602/road-rescue works
RoadRescue is implemented here as a roadside-assistance web app: users authenticate, submit a located service request, mechanics manage jobs and availability, and users can pay for completed service. The README also describes accident detection, emergency alerts, hospitals and ambulances, but the supplied tree and sampled implementation do not establish those capabilities; they are not represented as working subsystems. Edges reflect the sampled frontend calls and backend route ownership; unsampled mechanics behavior is limited to documented UI/API scope.
Main entry points: server.js Express server · payment.js Payments · app.js Web app · serviceRequest.js Service requests
Components 16
Web experience
- Web app
frontend/js/app.js
API services
- Express server
backend/server.js - Authentication
backend/routes/auth.js - JWT authorization
backend/middleware/auth.js - Service requests
backend/routes/serviceRequest.js - Mechanic jobs
backend/routes/mechanic.js - Payments
backend/routes/payment.js
Persistence
- User records
backend/models/user.js - Mechanic profiles
backend/models/mechanic.js - Service records
backend/models/ServiceRequest.js - Payment records
backend/models/Payment.js
External services
- MongoDB
- Razorpay
- Google Maps
Other components
- Roadside user
- Mechanic
Connections 20
- Roadside user → Web app: uses
- Mechanic → Web app: uses
- Web app → Express server: HTTP API
- Express server → Authentication: mounts auth
- Express server → Service requests: mounts service
- Express server → Mechanic jobs: mounts mechanics
- Express server → Payments: mounts payments
- Authentication → User records: reads/writes
- Authentication → Mechanic profiles: creates profile
- Service requests → JWT authorization: checks token
- Mechanic jobs → JWT authorization: checks token
- Payments → JWT authorization: checks token
- Service requests → Service records: reads/writes
- Service requests → Mechanic profiles: finds/updates
- Payments → Payment records: reads/writes
- Payments → Service records: updates completion
- Express server → MongoDB: connects
- Web app → Razorpay: opens checkout
- Payments → Razorpay: creates order
- Web app → Google Maps: renders location