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
2.9 KiB
2.9 KiB
🚛 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
- Create a Supabase project at supabase.com
- Go to SQL Editor → paste contents of
supabase-FULL-migration.sql→ Run - Copy your project URL and anon key to
.env
Default admin: username=admin, password=admin123
Deploy to Production (Coolify + Hostinger VPS)
- Push code to GitHub/GitLab
- In Coolify: New Resource → Docker → point to repo
- Set environment variables (from
.env.example) - Domain: bharathtrucks.com → point DNS to VPS IP
- 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