Logo Lanfrica

Voskykelvin/iTruck

Domain:

mobility

Record type:

software
Creator:
Vos
Host:
This is a gamechanger project for logistics in Africa # iTruck iTruck is a full-stack logistics platform for shippers, fleet owners, drivers, and operations teams. The application covers booking, bidding, fleet and driver management, shipment workflows, documents, messaging, delivery proof, wallets, notifications, and administration. ## Architecture - `workspace/` — React 18 single-page application built with Vite and TanStack Query. - `backend/` — Express API, Socket.IO, MongoDB/Mongoose models, and provider integrations. - `frontend/` — generated production build output; ignored by Git and recreated by `npm run build`. - `docs/` — active operational, production, provider, and legal documentation. - `scripts/` — deployment rehearsal, load, Docker, and launch checks. - `nginx/` — optional reverse proxy for the container stack. The Vite application builds directly into `frontend/`. Express serves that directory and falls back to `frontend/index.html` for browser routes. API routes remain under `/api`. ## Requirements - Node.js 20.19 or newer (Node 22 recommended) - npm 10 - MongoDB for persistent/live operation - Redis for multi-instance rate limiting, Socket.IO fan-out, and coordinated background work ## Install ```bash npm install npm install --prefix backend npm install --include=dev --include=optional --prefix workspace ``` Copy `.env.example` to `.env` and replace every production placeholder. Never commit environment files or credentials. ## Development Run the API: ```bash npm run dev ``` Run Vite in another terminal: ```bash npm run app:dev ``` Vite proxies `/api` and `/socket.io` to `127.0.0.1`. To run the production-shaped application locally: ```bash npm run build npm start ``` Then open `127.0.0.1`. ## Quality Checks ```bash npm run lint npm run format:check npm test npm run test:frontend npm run app:build ``` Run the complete CI gate with: ```bash npm run ci:check ``` Browser tests build the frontend and start the backend automatically: ```bash npm run test:e2 …