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
245 lines
7.1 KiB
Markdown
245 lines
7.1 KiB
Markdown
# 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.*
|