No description
Find a file
2026-05-31 06:40:54 +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 Add .env file with Supabase credentials for deployment 2026-05-31 06:40:54 +00:00
.dockerignore Add root Dockerfile for Coolify deployment 2026-05-31 06:25:23 +00:00
Dockerfile Add .env file with Supabase credentials for deployment 2026-05-31 06:40:54 +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