bharath/docs/bmad/SPRINT_PLAN.md
Vivek 394117dd74 BharathTrucks MVP - 6 sprints complete
- Govt-app styled freight marketplace
- Role-based auth (driver/shipper/broker/admin)
- Load board with bidding system
- Trip tracking with status flow
- In-app messaging
- Admin panel
- Mobile bottom nav + PWA
- Docker + Coolify ready
2026-05-31 06:21:13 +00:00

7.1 KiB

BharathTrucks — Sprint & Milestone Plan

Version: 1.0
Date: 2026-05-31
Sprint Duration: 1 week each


Milestone Overview

M1 (Sprint 1-2)     M2 (Sprint 3-4)      M3 (Sprint 5-6)      M4 (Sprint 7-8)
Foundation &         Load Board &          Dashboards &          Polish &
Auth                 Bidding               Communication         Launch
────────────────────────────────────────────────────────────────────────────────►
                                                                        🚀 LAUNCH

Sprint 1: Foundation (Week 1)

Goal: Project setup, infrastructure, landing page

Task Story Hours
Initialize Node.js + Express project 2
Setup EJS templating + layouts 2
Create govt-theme CSS (design system) 4
Setup Supabase project + run schema SQL 2
Create Dockerfile + docker-compose 1
Deploy to Coolify (hello world) 2
Configure Cloudflare + domain 1
Build landing page WEB-1, WEB-2 4
Health check endpoint 0.5
PWA manifest + service worker (basic) 2

Deliverable: bharathtrucks.com live with landing page


Sprint 2: Authentication (Week 2)

Goal: Phone OTP login, role-based registration, onboarding

Task Story Hours
Supabase Auth integration (phone OTP) AUTH-1 3
Login page (phone + OTP flow) AUTH-1, AUTH-6 3
Registration page (role selection) AUTH-2 3
OTP verification page AUTH-1 2
Auth middleware (session validation) 2
Role middleware 1
Driver onboarding form AUTH-3 2
Shipper onboarding form AUTH-4 2
Broker onboarding form AUTH-5 2
Post-login redirect by role AUTH-8 1

Deliverable: Users can register, login, complete profile


Sprint 3: Load Board (Week 3)

Goal: Shippers post loads, drivers browse and filter

Task Story Hours
Load posting form (shipper) LOAD-1 3
Load board page (list view) LOAD-2 4
Load detail page LOAD-3 2
Filters (route, truck type, date) LOAD-2 3
Broker posts on behalf of shipper LOAD-4 2
Edit/cancel load LOAD-5 2
Public load board (read-only, no auth) WEB-4 2
Load card component (partial) 1
Load status badges 1

Deliverable: Functional load board with posting and browsing


Sprint 4: Bidding System (Week 4)

Goal: Drivers bid, shippers accept/reject, rate limiting

Task Story Hours
Bid submission form BID-1 2
Bid list on load detail page BID-2 3
Accept bid flow BID-3 2
Reject bid flow BID-4 1
Bid status notifications BID-5 3
Bid rate limiting (5/day free) BID-8 2
Bid history page (driver) BID-7 2
Withdraw bid BID-6 1
Trip creation on bid acceptance 2
Load status update on booking 1

Deliverable: Complete bid lifecycle working


Sprint 5: Dashboards (Week 5)

Goal: Role-specific dashboards with key features

Task Story Hours
Driver dashboard (active trips, loads) DRV-1, DRV-2 4
Trip status updates (driver) DRV-3 2
Shipper dashboard (my loads, bids) SHP-1, SHP-2 4
Broker dashboard (network, loads) BRK-1, BRK-2 4
Commission tracking (broker) BRK-3 3
Earnings summary (driver) DRV-4 2
Bottom navigation (mobile) 1

Deliverable: All 3 role dashboards functional


Sprint 6: Communication & Notifications (Week 6)

Goal: In-app messaging, push notifications, WhatsApp share

Task Story Hours
Messaging system (DB + UI) COM-1 4
Conversation view COM-1 3
Push notifications (PWA) COM-2 3
Notification bell + dropdown COM-2 2
WhatsApp share templates COM-3 2
Notification preferences 1
Unread message count 1
Real-time updates (Supabase Realtime) 3

Deliverable: Users can communicate about loads


Sprint 7: Admin & Payments (Week 7)

Goal: Admin panel, basic payment tracking, ratings

Task Story Hours
Admin dashboard (metrics) ADM-1, ADM-2 4
User management (list, suspend) ADM-3 3
UPI payment link generation PAY-1 2
Payment confirmation flow PAY-2 2
Transaction ledger PAY-3 2
Rating system (post-delivery) SHP-4 3
Feature flag system ADM-4 2
Admin login (separate) 1

Deliverable: Admin can manage platform, basic payments work


Sprint 8: Polish & Launch (Week 8)

Goal: Bug fixes, performance, SEO, launch prep

Task Story Hours
Performance optimization (images, caching) 3
SEO meta tags + sitemap 2
Error pages (404, 500) 1
Loading states + empty states 2
Hindi language strings AUTH-7 3
Mobile responsiveness audit 3
Security audit (headers, inputs) 2
End-to-end testing (manual) 4
Seed data for demo 1
Launch checklist completion 2

Deliverable: 🚀 Production launch of bharathtrucks.com


Post-Launch Sprints (Phase 2)

Sprint 9-10: Growth Features

  • Driver document management
  • Shipper saved drivers
  • Broker WhatsApp templates
  • Search improvements
  • Load recommendations

Sprint 11-12: Monetization

  • Razorpay subscription integration
  • Premium feature gating
  • Upgrade prompts
  • Promoted listings
  • Verification services

Sprint 13-16: Scale

  • GPS tracking integration
  • SMS notifications
  • Advanced analytics
  • Fleet owner features
  • Android PWA optimization

Launch Checklist

# Item Status
1 Domain pointing to VPS
2 SSL working (Cloudflare)
3 Supabase schema deployed
4 Auth OTP working
5 All 3 roles can register + login
6 Load board functional
7 Bidding works end-to-end
8 Dashboards render correctly
9 Messaging works
10 Mobile responsive
11 PWA installable
12 Health check passing
13 Error handling in place
14 UptimeRobot configured
15 Backup strategy confirmed

Timeline Summary

Week Sprint Milestone
Week 1 Sprint 1 Infrastructure + Landing
Week 2 Sprint 2 Auth + Onboarding
Week 3 Sprint 3 Load Board
Week 4 Sprint 4 Bidding
Week 5 Sprint 5 Dashboards
Week 6 Sprint 6 Communication
Week 7 Sprint 7 Admin + Payments
Week 8 Sprint 8 Polish + Launch 🚀

Total time to MVP: 8 weeks


Each sprint has a clear deliverable. No sprint depends on external factors. Ship weekly, iterate based on feedback.