# 🚛 BharathTrucks — India's National Freight Marketplace > ā¤°ā¤žā¤ˇāĨā¤ŸāĨā¤°āĨ€ā¤¯ ā¤Žā¤žā¤˛ ā¤Ē⤰ā¤ŋā¤ĩā¤šā¤¨ ā¤Žā¤‚ā¤š — ⤟āĨā¤°ā¤• ā¤ĄāĨā¤°ā¤žā¤‡ā¤ĩ⤰, ā¤ļā¤ŋā¤Ē⤰ ⤔⤰ ā¤ŦāĨā¤°āĨ‹ā¤•⤰ ⤕āĨ‡ ⤞ā¤ŋā¤ ## Quick Start ```bash 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](https://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 ```