Build a **production-ready real-time carpooling web app** called **PRAYOMSH CARPOOL**. Tagline: **“Share the Ride. Split the Cost. Travel Smarter.”** Footer:** © 2026 PRAYOMSH. All rights reserved.** Build a real functional product, not a static/demo website. Use real database, secure backend, authentication, realtime updates and responsive premium UI. ### 1. USER ROLES Support: **Driver:** offers available car seats. **Passenger:** searches and requests rides. One user can be both. ### 2. DRIVER — OFFER RIDE Create **Offer a Ride**. Fields: - Name - Mobile - Email - Pickup - Drop - Date - Time - Car model/type - Available passenger seats Seat selector: **− 1 +** Example: 4 seats → booking → 3 → 2 → 1 → 0. When seats reach **0**, automatically set ride: **FULL** FULL rides must disappear from passenger search but remain in database. Ride statuses: **ACTIVE / FULL / CANCELLED / COMPLETED / EXPIRED** Automatically expire past rides. ### 3. PASSENGER — FIND RIDE Create **Find a Ride**. Search: - From - To - Date - Time - Seats required Example: **Ahmedabad → Sankheda** Show only rides that are active, match route/date/time and have enough seats. ### 4. LOCATION Use location autocomplete for city, area, landmark, airport, railway station and map locations. Store latitude/longitude and support nearby matching with configurable radius: **5 / 10 / 25 km** Use **Google Maps, Mapbox or OpenStreetMap**. Recommended: **PostgreSQL + PostGIS** ### 5. RIDE CARD Premium card: **Ahmedabad → Sankheda** 📅 10 Oct 2026 | 🕐 10:00 AM 👤 Driver Name | 🚗 Car Model ⭐ 4.8 | 💺 **2 Seats Available** Button: **Request Seat** Full ride: **FULL / No Seats Available** Never show FULL rides in available search. ### 6. CRITICAL SEAT LOGIC Seat count must be controlled by backend. Example: **4 → 3 → 2 → 1 → 0** At 0: - status = FULL - hide from search - disable booking - preserve history Prevent overbooking using an **atomic database transaction/locking**. If only one seat remains and two passengers book simultaneously, only one succeeds. Never trust frontend seat count. Show: **“Sorry, this ride is no longer available. The last seat was just booked.”** ### 7. BOOKING Passenger clicks **Request Seat**. Validate: - Logged-in user - Ride exists - Ride ACTIVE - Valid date - Seats available - Passenger ≠ driver - No duplicate booking Booking statuses: **PENDING / ACCEPTED / REJECTED / CANCELLED / COMPLETED** Driver can accept/reject. Accepted booking updates seats atomically. Passenger cancellation returns seats. Driver cancellation notifies passengers. ### 8. PRIVACY Never publicly expose driver's personal phone number. Before approval show: **Request Seat / Contact Driver** After approval reveal appropriate contact details. Use masked numbers where required. Never expose private data through public APIs. ### 9. AUTHENTICATION & PROFILE Implement: - Registration - Login/logout - Password reset - Email verification - Mobile/OTP verification Profile: Name, photo, verified mobile/email, rating, completed rides. Show: **✓ Mobile Verified | ✓ Email Verified** ### 10. DASHBOARDS **Driver Dashboard:** My rides, route, date/time, car, total/booked/available seats, status and passenger requests. **Passenger Dashboard:** Requested, accepted, rejected, cancelled and completed rides with booking status. ### 11. REALTIME Seat availability must update without refresh. Example: User A sees **1 Seat Available**. User B books final seat. User A automatically sees **FULL**. Use **WebSockets, Supabase Realtime or Firebase Realtime**. Do not fake realtime with timers. ### 12. NOTIFICATIONS Driver: - New request - Accepted/rejected request - Passenger cancellation - Ride reminder - Ride cancellation Passenger: - Request confirmation - Accepted/rejected - Driver cancellation - Ride changes - Reminder Support in-app and optional Email/WhatsApp/SMS. ### 13. RATINGS & REVIEWS After completed ride, both parties can rate each other: **1–5 stars + optional review** Prevent duplicate reviews. Display average rating and completed rides. ### 14. SEARCH FILTERS Filters: - Date - Time - Seats - Vehicle - Pickup radius - Driver rating Sort: **Recommended / Earliest / Nearest / Most Seats / Highest Rated** ### 15. SAFETY Include: - Mobile/email verification - Report user/ride - Block user - Help/Emergency option Reports: Fake profile, fraud, harassment, unsafe behaviour, incorrect ride. ### 16. ADMIN PANEL Secure admin dashboard with RBAC. Admin can: - View/search users - Suspend users - Manage rides - Cancel rides - View bookings - Handle reports/reviews - View statistics Statistics: Users, active rides, full rides, completed/cancelled rides, bookings and available seats. ### 17. DATABASE Use **PostgreSQL + PostGIS**. Tables: **users:** id, name, email, phone, password_hash, photo, verification status, rating, timestamps. **rides:** id, driver_id, pickup/drop + coordinates, date, time, car, total_seats, available_seats, status, timestamps. **bookings:** id, ride_id, passenger_id, seats_requested, status, timestamps. **reviews:** id, ride_id, reviewer_id, reviewee_id, rating, comment, timestamp. ### 18. TECHNOLOGY Recommended: **Frontend:** Next.js + React + TypeScript + Tailwind CSS **Backend:** Node.js + NestJS/Express + TypeScript **Database:** PostgreSQL + PostGIS **Realtime:** WebSockets/Supabase Realtime **Maps:** Google Maps/Mapbox/OpenStreetMap Keep API keys/secrets in environment variables. ### 19. SECURITY Implement: - Server-side validation - Secure password hashing - Authentication/authorization - RBAC - Rate limiting - CORS - XSS/SQL injection protection - Secure headers - Error handling - Logging Never expose passwords, tokens, hashes or private contact information. ### 20. UI/UX Create a **premium, modern, minimal, trustworthy mobility-startup design**. Use clean typography, premium cards, rounded components, subtle shadows, modern icons, map UI, smooth micro-interactions and strong CTAs. Hero: # PRAYOMSH CARPOOL **Share the Ride. Split the Cost. Travel Smarter.** “Find available rides, share your journey and connect with drivers and passengers.” Buttons: **Find a Ride** | **Offer a Ride** Fully responsive for desktop, tablet and mobile. ### 21. SEO & ACCESSIBILITY Add: - SEO title/meta - Open Graph - Sitemap - Robots.txt - Semantic HTML - Structured data where useful Title: **PRAYOMSH Carpool — Find & Share Rides** Description: **Find and share available carpool rides with PRAYOMSH. Search routes, request seats and travel smarter.** Follow WCAG: keyboard navigation, labels, accessible forms/errors, screen-reader support and good contrast. ### 22. EDGE CASES & TESTING Handle: - Driver/passenger cancellation - Duplicate booking - Final-seat race condition - Full/expired ride - Invalid date/location/seats - Unauthorized access - Network failure - Duplicate API requests - Route/time changes Test authentication, ride creation, search, booking, concurrency, realtime updates and security. ### 23. FINAL ACCEPTANCE TEST Driver: Login → Offer Ride → **Ahmedabad → Sankheda** → Date/Time → Car → **4 seats** → Publish. Passenger: Login → Find Ride → **Ahmedabad → Sankheda** → Search → Ride appears. Bookings: **4 → 3 → 2 → 1 → 0** At 0: **ACTIVE → FULL** Ride immediately disappears from available search and booking is disabled. Concurrent final-seat requests must allow only one successful booking. The final product must be **fully functional, secure, realtime, responsive, scalable and production-ready**, with no fake hardcoded production data. **PRAYOMSH CARPOOL** **© 2026 PRAYOMSH. All rights reserved.**
Sign in to leave a comment
Architecture diagrams will be automatically generated when the Project Manager creates tasks for your project.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No comments yet. Be the first!