Tech Stack:
- Frontend: React.js + Vite + Tailwind CSS + React Router
- Backend: Node.js + Express.js
- Database: MongoDB (with Mongoose)
- Other: JWT for authentication, Cloudinary (for image upload), Google Maps API, Nodemailer (for emails)
Week 1: Project Setup & Authentication
Frontend:
- Create React app with Vite
- Install Tailwind CSS and basic libraries (React Router, Axios, Zustand)
- Create folder structure (pages, components, context, utils)
- Build Login & Register pages
- Create role-based routing (User / Vendor / Admin)
Backend:
- Initialize Node.js + Express project
- Setup MongoDB connection using Mongoose
- Create User model (name, email, phone, password, role)
- Implement Register & Login APIs with JWT token
- Setup middleware for authentication and role checking
Database:
- Create
userscollection - Add indexes on email and role
Goal: Users can register and login with 3 different roles.
Week 2: User & Vendor Profiles + Admin Invite System
Frontend:
- Create Profile page for User and Vendor
- Build Admin Dashboard layout
- Create "Generate Vendor Invite Link" feature for Admin
- Protected routes fully working
Backend:
- Create APIs for profile update and fetch
- Implement Vendor Invite system (generate unique link/code)
- API to verify invite code during vendor registration
- Create Admin-only protected routes
Database:
- Update User model for profile fields
- Create
vendorInvitescollection
Goal: Admin can generate shareable links for vendors.
Week 3: Vehicle Management (Vendor Side)
Frontend:
- Vendor Dashboard
- "Add New Vehicle" form (type, model, number plate, capacity, photos, features)
- Vehicle List page with edit/delete options
Backend:
- Create Vehicle model
- APIs: Add Vehicle, Get My Vehicles, Update Vehicle, Delete Vehicle
- Image upload integration with Cloudinary
Database:
- Create
vehiclescollection
Goal: Vendors can add and manage their vehicles.
Week 4: Traveller Booking Flow (User Side)
Frontend:
- Booking form: Pickup, Drop, Stops, Date, Passengers, Vehicle Type
- Show recommended vehicles with estimated fare
- Booking confirmation page
Backend:
- Create Booking model
- APIs: Create Booking, Get Recommendations, Calculate Fare (basic logic)
- Send notification to matching vendors
Database:
- Create
bookingscollection
Goal: Users can create one-time group/traveller bookings.
Week 5: Monthly Subscription Flow
Frontend:
- Monthly Subscription form (Pickup, Drop, Days, Timings, Vehicle Type)
- Subscription list and details page
Backend:
- Create Subscription model
- APIs: Create Subscription, Get My Subscriptions
- Logic to calculate monthly fare
Database:
- Create
subscriptionscollection
Goal: Users can book recurring monthly rides.
Week 6: Booking Management & Vendor Acceptance
Frontend:
- User: View My Bookings + Track Status
- Vendor: See New Ride Requests, Accept/Reject Booking
- Status update flow (Pending → Accepted → Ongoing → Completed)
Backend:
- APIs for updating booking status
- Real-time status change handling
- Vendor earnings calculation (basic)
Goal: Full booking lifecycle between User and Vendor.
Week 7: Google Maps, Notifications & Admin Panel
Frontend:
- Integrate Google Maps (location picker, show route)
- Dashboard improvements for all roles
- Notification display
Backend:
- Integrate Google Maps API for distance & duration
- Setup email notifications (Nodemailer)
- Admin APIs: Manage Users, Vendors, View All Bookings
Database:
- Add location coordinates in bookings and vehicles
Goal: Make the app more smart and usable.
Week 8: Testing, Polish & Deployment
Frontend:
- Final UI improvements and responsiveness
- Error handling and loading states
- Final testing of all flows
Backend:
- Implement proper security (input validation, error handling)
- Setup environment variables
- Write basic API documentation
Deployment:
- Deploy Backend on Render / Railway / Vercel
- Deploy Frontend on Vercel / Netlify
- Connect Frontend with Backend
- Final testing with real data
Goal: Fully working live application.
Final Deliverables After 8 Weeks
- Complete working MVP with 3 roles (User, Vendor, Admin)
- Vehicle management by vendors
- Traveller booking + Monthly subscription by users
- Admin full control + invite system
- Google Maps integration
- Basic notifications
- Deployed and ready to use