bharath/docs/bmad/USER_STORIES.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

157 lines
6.9 KiB
Markdown

# BharathTrucks — User Stories & Epics
**Version:** 1.0
**Date:** 2026-05-31
---
## Epic 1: Authentication & Onboarding
| ID | Story | Role | Priority |
|----|-------|------|----------|
| AUTH-1 | As a user, I can register with my phone number and OTP so I don't need to remember passwords | All | P0 |
| AUTH-2 | As a user, I can select my role (Driver/Shipper/Broker) during registration | All | P0 |
| AUTH-3 | As a driver, I can complete my profile with truck details, license, and routes | Driver | P0 |
| AUTH-4 | As a shipper, I can complete my profile with business name, GST, and shipping frequency | Shipper | P0 |
| AUTH-5 | As a broker, I can complete my profile with experience, network size, and operating regions | Broker | P0 |
| AUTH-6 | As a user, I can log in with phone + OTP on any device | All | P0 |
| AUTH-7 | As a user, I can switch language (Hindi/English) during onboarding | All | P1 |
| AUTH-8 | As a user, I see a role-appropriate dashboard after login | All | P0 |
---
## Epic 2: Load Board (Marketplace)
| ID | Story | Role | Priority |
|----|-------|------|----------|
| LOAD-1 | As a shipper, I can post a load with origin, destination, weight, truck type, and budget | Shipper | P0 |
| LOAD-2 | As a driver, I can browse available loads filtered by route, truck type, and date | Driver | P0 |
| LOAD-3 | As a driver, I can view load details including shipper rating and payment terms | Driver | P0 |
| LOAD-4 | As a broker, I can post loads on behalf of my shipper clients | Broker | P0 |
| LOAD-5 | As a shipper, I can edit or cancel my posted load before bids are accepted | Shipper | P1 |
| LOAD-6 | As a user, I can search loads by city name or pincode | All | P1 |
| LOAD-7 | As a driver, I can save/bookmark loads to bid on later | Driver | P2 |
| LOAD-8 | As a user, I can see load count and recent activity on the board | All | P1 |
| LOAD-9 | As a shipper, I can mark a load as urgent for higher visibility | Shipper | P2 |
---
## Epic 3: Bidding System
| ID | Story | Role | Priority |
|----|-------|------|----------|
| BID-1 | As a driver, I can submit a bid with my price and estimated delivery time | Driver | P0 |
| BID-2 | As a shipper, I can view all bids on my load sorted by price/rating | Shipper | P0 |
| BID-3 | As a shipper, I can accept a bid and confirm booking | Shipper | P0 |
| BID-4 | As a shipper, I can reject bids with optional reason | Shipper | P1 |
| BID-5 | As a driver, I get notified when my bid is accepted/rejected | Driver | P0 |
| BID-6 | As a shipper, I can counter-offer a bid with a different price | Shipper | P2 |
| BID-7 | As a driver, I can see my bid history and success rate | Driver | P1 |
| BID-8 | As a free user, I can place up to 5 bids per day | Driver | P0 |
---
## Epic 4: Driver Dashboard & Tools
| ID | Story | Role | Priority |
|----|-------|------|----------|
| DRV-1 | As a driver, I can see personalized load recommendations based on my location and truck type | Driver | P1 |
| DRV-2 | As a driver, I can view my active trips and their status | Driver | P0 |
| DRV-3 | As a driver, I can mark trip milestones (picked up, in transit, delivered) | Driver | P0 |
| DRV-4 | As a driver, I can view my earnings summary (weekly/monthly) | Driver | P1 |
| DRV-5 | As a driver, I can manage my documents (license, RC, insurance) | Driver | P1 |
| DRV-6 | As a driver, I can update my availability status | Driver | P1 |
---
## Epic 5: Shipper Dashboard & Tools
| ID | Story | Role | Priority |
|----|-------|------|----------|
| SHP-1 | As a shipper, I can see all my posted loads and their bid status | Shipper | P0 |
| SHP-2 | As a shipper, I can track active shipments with status updates | Shipper | P0 |
| SHP-3 | As a shipper, I can view payment history and pending amounts | Shipper | P1 |
| SHP-4 | As a shipper, I can rate and review drivers after delivery | Shipper | P1 |
| SHP-5 | As a shipper, I can save preferred drivers for future loads | Shipper | P2 |
| SHP-6 | As a shipper, I can re-post a previous load with one click | Shipper | P2 |
---
## Epic 6: Broker Dashboard & CRM
| ID | Story | Role | Priority |
|----|-------|------|----------|
| BRK-1 | As a broker, I can manage my driver network (add, view, contact) | Broker | P0 |
| BRK-2 | As a broker, I can manage my shipper clients | Broker | P0 |
| BRK-3 | As a broker, I can track commissions per load with proof | Broker | P0 |
| BRK-4 | As a broker, I can quick-post loads using templates | Broker | P1 |
| BRK-5 | As a broker, I can see which drivers are available and where | Broker | P1 |
| BRK-6 | As a broker, I can share load details via WhatsApp to my network | Broker | P1 |
| BRK-7 | As a broker, I can view my monthly earnings report | Broker | P1 |
---
## Epic 7: Communication & Notifications
| ID | Story | Role | Priority |
|----|-------|------|----------|
| COM-1 | As a user, I can message another user about a specific load | All | P0 |
| COM-2 | As a user, I receive push notifications for bid updates | All | P0 |
| COM-3 | As a user, I can share load details via WhatsApp | All | P1 |
| COM-4 | As a user, I receive SMS notifications for critical updates (bid accepted) | All | P2 |
---
## Epic 8: Payments & Ledger
| ID | Story | Role | Priority |
|----|-------|------|----------|
| PAY-1 | As a shipper, I can generate a UPI payment link for the driver | Shipper | P1 |
| PAY-2 | As a driver, I can mark payment as received | Driver | P1 |
| PAY-3 | As a user, I can view my transaction ledger | All | P1 |
| PAY-4 | As a broker, I can record commission received per transaction | Broker | P1 |
---
## Epic 9: Marketing Website
| ID | Story | Role | Priority |
|----|-------|------|----------|
| WEB-1 | As a visitor, I can understand what BharathTrucks does from the landing page | Visitor | P0 |
| WEB-2 | As a visitor, I can see trust signals (user count, loads moved) | Visitor | P0 |
| WEB-3 | As a visitor, I can register directly from the landing page | Visitor | P0 |
| WEB-4 | As a visitor, I can view the load board without registering (read-only) | Visitor | P1 |
---
## Epic 10: Admin Panel
| ID | Story | Role | Priority |
|----|-------|------|----------|
| ADM-1 | As an admin, I can view all users and their roles | Admin | P0 |
| ADM-2 | As an admin, I can view platform metrics (users, loads, bids) | Admin | P0 |
| ADM-3 | As an admin, I can suspend/ban users | Admin | P1 |
| ADM-4 | As an admin, I can manage feature flags (free/premium) | Admin | P1 |
| ADM-5 | As an admin, I can broadcast announcements to all users | Admin | P2 |
---
## Priority Legend
| Priority | Meaning | Sprint Target |
|----------|---------|---------------|
| P0 | Must have for launch | Sprint 1-2 |
| P1 | Important, needed soon after launch | Sprint 3-4 |
| P2 | Nice to have, can wait | Sprint 5+ |
---
## MVP Scope Summary
**Launch with:** AUTH (all), LOAD (1-4), BID (1-5, 8), DRV (2-3), SHP (1-2), BRK (1-3), COM (1-2), WEB (1-3), ADM (1-2)
**Total MVP stories:** ~30 stories across 10 epics
---
*Stories will be refined and estimated during sprint planning.*