1. Project Overview
RydeZee is a smart mobility platform with three user roles:
- User (Passenger): Books rides and monthly subscriptions.
- Vendor (Vehicle Owner/Driver): Manages vehicles and accepts ride orders.
- Admin: Oversees platform, manages users & vendors, generates vendor registration links.
2. Tech Stack
- Frontend: React.js + Vite + Tailwind CSS + React Router v6
- State Management: Zustand
- Backend: Firebase (Firestore + Authentication + Storage)
- Maps: Google Maps API
- Notifications: Firebase Cloud Messaging (FCM)
- Version Control: GitHub
- Deployment: Firebase Hosting
3. Database Schema (Firestore)
Collections:
-
users
- uid, role ("user", "vendor", "admin"), name, email, phone, profilePic, createdAt, isActive
-
vehicles
- vehicleId, vendorId, vehicleType (Car/SUV/Tempo Traveller etc.), model, numberPlate, capacity, photos[], features[], isAvailable, createdAt
-
bookings
- bookingId, userId, vendorId (null initially), pickup, drop, stops[], passengers, travelDate, timing, vehicleType, fare, status ("pending", "accepted", "ongoing", "completed", "cancelled"), createdAt
-
subscriptions
- subId, userId, vendorId, pickup, drop, daysOfWeek[], pickupTime, returnTime, vehicleType, monthlyFare, startDate, status
-
vendorInvites
- inviteId, inviteCode, email, expiresAt, usedBy (vendor uid), createdBy (admin uid)
4. Core Modules
Authentication Module
- Email/Password + Phone Auth
- Role-based route protection
- Admin-only vendor invite link generation
User Module
- Profile management
- Book one-time traveller rides (with multiple stops)
- Create monthly subscriptions
- View active & past bookings/subscriptions
- Real-time ride tracking
Vendor Module
- Add/Edit vehicles with photos
- View available ride requests (matching their vehicles)
- Accept/Reject bookings
- Manage ongoing & completed orders
- View earnings summary
Admin Module
- Dashboard with platform stats
- Manage all users & vendors (activate/deactivate)
- Generate vendor registration invite links
- View all bookings & subscriptions
- Monitor platform activity
Booking Engine
- Smart vehicle recommendation based on capacity, location & availability
- Fare calculation logic
- Status workflow management
5. Key User Flows
User Flow: Login → Home → New Booking / Monthly Subscription → Fill details → View recommendations → Confirm & Pay → Track ride
Vendor Flow: Login → Add Vehicles → Browse Open Requests → Accept Booking → Start Ride → Complete
Admin Flow: Login → Dashboard → Generate Vendor Invite Link → Share → Monitor Users/Vendors/Bookings
6. 2-Month Implementation Plan (8 Weeks)
Phase 1: Foundation (Week 1-2)
- Project setup (React + Firebase)
- Authentication system with role management
- Protected routes (User/Vendor/Admin)
- Admin dashboard skeleton + Vendor Invite Link generation system
- Basic user & vendor profile pages
- Database structure implementation
Phase 2: Core Features (Week 3-5)
- Vehicle Management (Vendor side)
- Traveller Booking Flow (User side)
- Vehicle recommendation & fare estimation
- Booking acceptance workflow (User → Vendor)
- Monthly Subscription flow
- Booking history & status management for all roles
Phase 3: Advanced Features & Polish (Week 6-7)
- Google Maps integration (location picker, distance calculation)
- Real-time booking status updates
- Firebase Cloud Messaging (ride notifications)
- Vendor earnings & simple dashboard
- Admin management pages (users, vendors, bookings)
- Responsive UI improvements + bug fixing
Phase 4: Testing & Deployment (Week 8)
- Full system testing (all 3 roles)
- Security rules implementation (Firestore rules)
- Performance optimization
- Final documentation & handover
- Deploy to Firebase Hosting
Total Timeline: 8 Weeks (2 Months)
7. Deliverables at End of 2 Months
- Fully functional MVP with all 3 roles
- Complete booking + subscription system
- Vendor vehicle & order management
- Admin controls + invite system
- Live tracking & notifications
- Clean, responsive UI
- Production-ready Firebase setup