mirror of
http://forgejo-oa09toasww4dgii9cj3gpzda.187.127.164.61.sslip.io/iamcoolvivek007/bharath.git
synced 2026-06-11 00:06:51 +00:00
- 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
7.1 KiB
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.