https://github.com/himu25/shipgoods
A scalable logistics platform for goods transportation, featuring vehicle booking, real-time tracking, price estimation, and admin analytics. Live Demo π
https://github.com/himu25/shipgoods
kafka leaflet nextjs nodejs redis socket-io
Last synced: 3 months ago
JSON representation
A scalable logistics platform for goods transportation, featuring vehicle booking, real-time tracking, price estimation, and admin analytics. Live Demo π
- Host: GitHub
- URL: https://github.com/himu25/shipgoods
- Owner: Himu25
- Created: 2024-11-23T18:44:42.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-23T19:27:46.000Z (over 1 year ago)
- Last Synced: 2025-03-25T22:45:19.550Z (about 1 year ago)
- Topics: kafka, leaflet, nextjs, nodejs, redis, socket-io
- Language: JavaScript
- Homepage: https://drive.google.com/file/d/1o1PXLE25EkY2OdbgKqukt6VLeV8kNX3g/view
- Size: 261 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ShipGoods is a Logistics Platform for Goods Transportation
## Overview
The **On-Demand Logistics Platform** is a scalable system designed to facilitate goods transportation by connecting users with a fleet of drivers. The platform offers real-time booking, tracking, and price estimation services while ensuring efficient handling of high traffic volumes.
## Key Features
### User Features
- **Booking Service**:
Users can book transportation by specifying:
- Pickup location
- Drop-off location
- Type of vehicle (e.g., truck, van)
- Estimated cost
- **Real-Time Tracking**:
Track the driverβs location from pickup to drop-off.
- **Price Estimation**:
Get upfront price estimates based on distance, vehicle type, and demand.
### Driver Features
- **Job Assignment**:
Drivers receive booking requests with details of the job. After accepting, they can see:
- Pickup and drop-off locations
- Job details
- **Job Status Updates**:
Drivers can update job progress:
- En route to pickup
- Goods collected
- Goods delivered
### Admin Features
- **Fleet Management**:
Manage vehicle availability, monitor driver activity, and track system health.
- **Data Analytics**:
Analytics include:
- Total trips completed
- Average trip time
- Driver performance metrics
- **Scheduled Bookings**:
Users can schedule trips for future dates and times.
---
## Architecture
### System Design
1. **Scalability**:
The system is designed to handle high traffic with the following technologies:
- **MongoDB**: Used as the primary database for user, driver, and booking data.
- **KafkaJS**: For streaming large amounts of location data efficiently in real time.
- **Redis**: For caching frequently accessed data such as price estimations and user sessions.
- **Kubernetes**: Used to scale services horizontally and ensure high availability.
2. **Real-Time Communication**:
- WebSockets or MQTT for live tracking and instant job updates.
---
## Installation and Setup without Kubernetes
1. Clone the repository:
```bash
git clone https://github.com/Himu25/ShipGoods.git
cd ShipGoods
2. Backend setup: Navigate to the `server` directory:
```bash
cd server
npm install
docker-compose up
nodemon src/index
3. Frontend setup: Navigate to the `client` directory:
```bash
cd client
npm install
npm run dev
## Demo Video
Watch the [demo video](https://drive.google.com/file/d/1o1PXLE25EkY2OdbgKqukt6VLeV8kNX3g/view?usp=sharing) showcasing the platform's key features and functionality.
## Contribution
Contributions are welcome! Submit pull requests or report issues to help improve the project.