How nishant-838/rideshare works
RideShare supports renters booking and paying for bikes, while owners manage a fleet and review revenue and rider feedback; it also provides live ride tracking. The sampled backend shows the bike, booking, payment, and socket flows, and the frontend route map identifies the main user-facing areas. The README offers no additional product detail, and most page-to-API wiring was not sampled, so those links are omitted where not evidenced.
Main entry points: App.jsx Route App · server.js HTTP and Socket Server · paymentController.js Payment Operations · bikeController.js Bike Operations
Components 31
Rider and Owner App
- Route App
Frontend/src/App.jsx - Browse Bikes
Frontend/src/pages/AvailableBike.jsx - Bike Details
Frontend/src/pages/BikeDetails.jsx - Booking Flow
Frontend/src/pages/BikeBooking.jsx - My Bookings
Frontend/src/pages/MyBookings.jsx - Payment History
Frontend/src/pages/PaymentHistory.jsx - Fleet Dashboard
Frontend/src/pages/MyVehicles.jsx - Owner Analytics
Frontend/src/ownerComponents/Analytics.jsx - Owner Reviews
Frontend/src/pages/ownerReview.jsx - Ride Tracking
Frontend/src/pages/DriverTracker.jsx - Customer Map
Frontend/src/pages/CustomerMap.jsx - HTTP Client
Frontend/src/api/axios.js
Backend API
- HTTP and Socket Server
Backend/server.js - Bike Routes
Backend/routes/bikeRoutes.js - Booking Routes
Backend/routes/bookingRoutes.js - Payment Routes
Backend/routes/paymentRoutes.js - Review Routes
Backend/routes/Review.js - MongoDB Connection
Backend/db.js
Rental Domain
- Bike Operations
Backend/controllers/bikeController.js - Booking Operations
Backend/controllers/bookingController.js - Payment Operations
Backend/controllers/paymentController.js - Bike Records
Backend/models/Bike.js - Booking Records
Backend/models/Booking.js - Payment Records
Backend/models/Payment.js - Review Records
Backend/models/Review.js
External Services
- Cloudinary Media
Backend/config/cloudinary.js - Razorpay
- MongoDB
Other components
- Renter
- Bike Owner
- Rider Device
Connections 41
- Route App → Browse Bikes: routes to
- Route App → Bike Details: routes to
- Route App → Booking Flow: routes to
- Route App → My Bookings: routes to
- Route App → Payment History: routes to
- Route App → Fleet Dashboard: routes to
- Route App → Owner Analytics: routes to
- Route App → Owner Reviews: routes to
- Route App → Ride Tracking: routes to
- Route App → Customer Map: routes to
- Bike Owner → Fleet Dashboard: manages fleet
- Bike Owner → Owner Analytics: views revenue
- Renter → Browse Bikes: browses
- Renter → Booking Flow: requests rental
- Renter → Payment History: views payments
- Owner Reviews → HTTP Client: requests reviews
- HTTP Client → HTTP and Socket Server: sends requests
- HTTP and Socket Server → Bike Routes: mounts
- HTTP and Socket Server → Booking Routes: mounts
- HTTP and Socket Server → Payment Routes: mounts
- HTTP and Socket Server → Review Routes: mounts
- Bike Routes → Bike Operations: dispatches
- Booking Routes → Booking Operations: dispatches
- Payment Routes → Payment Operations: dispatches
- Review Routes → Review Records: routes reviews
- Bike Operations → Bike Records: reads and writes
- Bike Operations → Booking Records: checks bookings
- Booking Operations → Bike Records: reads bike
- Booking Operations → Booking Records: reads and writes
- Payment Operations → Booking Records: reads and updates
- Payment Operations → Payment Records: creates and reads
- Bike Operations → Cloudinary Media: uploads images
- Payment Operations → Razorpay: creates orders
- Payment Operations → Razorpay: fetches payment
- MongoDB Connection → MongoDB: connects
- Rider Device → HTTP and Socket Server: sends location
- HTTP and Socket Server → Bike Records: looks up owner
- HTTP and Socket Server → Bike Owner: dispatches ride updates
- Ride Tracking → HTTP and Socket Server: uses live tracking
- Customer Map → HTTP and Socket Server: receives ride updates
- Bike Owner → Owner Reviews: reviews feedback