In the traditional logistics sector, matching loads with available trucks is often a manual, fragmented process involving multiple middlemen. This Multi-Tenant SaaS platform digitizes the entire workflowβfrom load posting and truck availability to smart matching, digital Bilty generation, and GST invoicing.
It provides a centralized ecosystem for Logistics Companies (Tenants) to manage their customers and drivers with complete data isolation.
- Multi-Tenant Architecture: Complete data isolation between different logistics companies (tenants).
- Role-Based Access Control (RBAC): Dedicated dashboards for Admins, Drivers (Truck Owners), and Customers (Load Owners).
- Smart Matching: Algorithm to match available trucks with loads based on capacity and vehicle type.
- Secure Authentication: JWT-based auth with Access/Refresh token rotation and OTP verification via Twilio & Redis.
- Password Recovery: OTP-based forgot password flow for secure account recovery.
- Digital Documentation: Automated generation of 4-copy Bilty and GST Invoices in PDF format.
- Real-time Status Tracking: Workflow management from 'Assigned' to 'In-Transit' and 'Delivered'.
Frontend:
- React.js (Vite)
- React Router (Routing)
- Axios (API Calls with Interceptors)
- CSS-in-JS (Modern, responsive UI)
Backend:
- Node.js & Express.js
- MongoDB & Mongoose (Database & Modeling)
- Redis (OTP Storage & Rate Limiting)
- Twilio (SMS Gateway)
- PDFKit (Document Generation)
Follow these steps to run the project locally.
git clone https://github.com/your-username/Fleetiva-Roadlines.git
cd Fleetiva-Roadlines
### Prerequisites
- Node.js (v18+)
- MongoDB (Local or Atlas)
- Redis Server (Running on port 6379)
- Twilio Account (for SMS features)
### Installation
1. **Clone the repository:**
```bash
git clone https://github.com/your-username/logistics-transport-system.git
cd logistics-transport-systemAfter starting both backend and frontend:
- Open http://localhost:3000 in your browser
- Ensure the frontend loads without errors
- Check backend logs to confirm MongoDB is connected
If the application loads successfully, the setup is complete π
-
Backend Setup:
cd backend npm installCreate a
.envfile based on.env.exampleand fill in your credentials.Start the backend:
npm run dev
-
Frontend Setup:
cd ../frontend npm installStart the frontend:
npm run dev
βββ .github/
β βββ ISSUE_TEMPLATE/ # Bug & Feature templates
β βββ workflows/ # CI/CD Pipeline (GitHub Actions)
βββ CONTRIBUTING.md # Open-source contribution guidelines
βββ backend/
β βββ config/ # Service clients (Redis, Twilio)
β βββ middleware/ # Auth, Role, and Tenant scoping
β βββ models/ # Mongoose Schemas
β βββ routes/ # Modular API endpoints
β βββ utils/ # PDF Generation logic
β βββ server.js # Entry point
βββ frontend/
βββ src/
β βββ api/ # Axios configuration
β βββ components/ # Reusable UI components
β βββ pages/ # Role-specific dashboards and forms
β βββ App.jsx # Routing and Layout logic
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/auth/register |
Register new user/tenant & send OTP |
| POST | /api/auth/verify-otp |
Verify OTP and create account |
| POST | /api/auth/forgot-password |
Request password reset OTP |
| POST | /api/auth/reset-password |
Reset password using OTP |
| GET | /api/match/:loadId |
Find matching trucks for a load (Admin only) |
| GET | /api/booking/:id/bilty |
Generate and download Bilty PDF |
This project includes a GitHub Actions workflow for Continuous Integration. The pipeline automatically:
- Performs security audits on backend dependencies.
- Lints the codebase for consistency.
- Verifies frontend builds.
Contributions are welcome! Please read our CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License.