No description
Find a file
Vivek ed320e82c1 feat: add 35+ features - i18n, voice input, gamification, driver tools, marketplace
- Multi-language support (English, Hindi, Tamil, Telugu) with icon-based UI
- Voice input (Web Speech API) for low-literacy users
- Driver tools: Ledger, Trip Planner, Return Load, Safety, Maintenance, FASTag
- Marketplace: WhatsApp share, Rate Intelligence, Classifieds, Fleet
- Engagement: Gamification (XP/Levels), Challenges, Leaderboard, Referrals, Feed
- Business: Invoice (GST+UPI), Reports+CSV, Notifications, Documents, Bank
- Games: Rate Guesser, Route Quiz
- SEO: Sitemap, public load share pages with OG tags
- India utilities: vehicle validation, UPI links, toll/fuel calculator
- 29 routes, 54 templates, 4 languages, 3 migration files
2026-05-31 09:19:16 +00:00
docker BharathTrucks MVP - 6 sprints complete 2026-05-31 06:21:13 +00:00
docs BharathTrucks MVP - 6 sprints complete 2026-05-31 06:21:13 +00:00
webapp feat: add 35+ features - i18n, voice input, gamification, driver tools, marketplace 2026-05-31 09:19:16 +00:00
.dockerignore Add root Dockerfile for Coolify deployment 2026-05-31 06:25:23 +00:00
Dockerfile HEALTHCHECK NONE - explicitly disable Docker healthcheck 2026-05-31 07:17:01 +00:00
multi-language-support-903482.md feat: add 35+ features - i18n, voice input, gamification, driver tools, marketplace 2026-05-31 09:19:16 +00:00
README.md BharathTrucks MVP - 6 sprints complete 2026-05-31 06:21:13 +00:00

🚛 BharathTrucks — India's National Freight Marketplace

राष्ट्रीय माल परिवहन मंच — ट्रक ड्राइवर, शिपर और ब्रोकर के लिए

Quick Start

cd webapp
npm install
cp .env.example .env    # Add your Supabase credentials
npm start               # http://localhost:3000

Database Setup

  1. Create a Supabase project at supabase.com
  2. Go to SQL Editor → paste contents of supabase-FULL-migration.sql → Run
  3. Copy your project URL and anon key to .env

Default admin: username=admin, password=admin123

Deploy to Production (Coolify + Hostinger VPS)

  1. Push code to GitHub/GitLab
  2. In Coolify: New Resource → Docker → point to repo
  3. Set environment variables (from .env.example)
  4. Domain: bharathtrucks.com → point DNS to VPS IP
  5. Done — auto-deploys on push to main

Tech Stack

Layer Technology
Backend Node.js + Express
Views EJS (server-rendered)
Database Supabase (PostgreSQL)
Auth Username + Password (bcrypt)
Styles Custom CSS (govt-app theme)
Deployment Docker + Coolify
PWA Service Worker + Manifest

Features

  • Load Board — Shippers post loads, drivers browse and bid
  • Bidding — Drivers bid on loads, shippers accept best bid
  • Trip Tracking — Status flow: confirmed → picked up → in transit → delivered
  • Messaging — Direct chat between users
  • Dashboards — Role-specific (driver/shipper/broker) with real stats
  • Admin Panel — User management, platform metrics, load overview
  • WhatsApp Share — Share loads via WhatsApp
  • Mobile-First — Bottom nav, responsive, PWA installable
  • Govt-App Design — Tricolor, navy theme, Hindi-first, trust signals

User Roles

Role Username Features
Driver Vehicle number (e.g. MH31AB1234) Browse loads, bid, track trips, earnings
Shipper Choose any username Post loads, review bids, accept, track shipments
Broker Choose any username Post loads for clients, manage deals
Admin admin User management, platform metrics

Project Structure

webapp/
├── src/
│   ├── server.js           # Express app entry
│   ├── config/             # env.js, constants.js
│   ├── middleware/         # auth.js
│   ├── routes/             # auth, loads, trips, admin, messages
│   ├── services/           # supabase.js
│   ├── views/pages/        # All EJS pages
│   ├── views/partials/     # header, footer, bottom-nav
│   └── public/             # CSS, JS, manifest, SW
├── Dockerfile
├── package.json
└── supabase-FULL-migration.sql

Environment Variables

SUPABASE_URL=https://your-project.supabase.co
SUPABASE_KEY=your-anon-key
SESSION_SECRET=random-64-char-string
PORT=3000