mirror of
http://forgejo-oa09toasww4dgii9cj3gpzda.187.127.164.61.sslip.io/iamcoolvivek007/bharath.git
synced 2026-06-11 00:06:51 +00:00
No description
- 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 |
||
|---|---|---|
| docker | ||
| docs | ||
| webapp | ||
| .dockerignore | ||
| Dockerfile | ||
| multi-language-support-903482.md | ||
| README.md | ||
🚛 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