Drone-based logistics is a very hot topic in research and has the potential to change the future of logistics and e-commerce. The project focuses on providing an interface through which a logistics operator can track the drones in motion. The proposed system is a Web App through which customers can place orders. Once an order is placed, the route planning algorithm will select a drone to service the needs based on factors like distance, battery level left, nearest charging station, etc.
- Real-time tracking of drones.
- Placing an order to be serviced by drones.
The application uses a microservice architecture with three main services:
- User :- Used for registering new users,authentication purposes,login,logout and getting user details.
- Order :- Used for creating new orders.
- Logistics :- Main Purpose of this service is scheduling of drones according to the location of order and warehouse.
For the purpose of communication between the frontend(client) and the services(server),we have an API Gateway.Since it's a microservice architecture the three services have independent databases.Websockets are used for real time updates to be shown from the server to the client.
The Technology Stack used in the application is:
- Frontend : Angular 8
- User,Order,Logistics Service and API Gateway : Django Rest Framework
- Deployment : Kubernetes
Redis is used for showing real time tracking of drones to the frontend.
The code structure is as follows:
- api
- user (user service)
- order (order service)
- logistics (logistics service)
- gateway (API Gateway)
- frontend
- drone_plus_plus (frontend code)
- deployments
- user (user deployments)
- order (order deployments)
- logistics(logistics deployments)
- gateway (gateway deployments)
Databases:
- User Service : Postgres
- Order Service : MySQL
- Logistics Service : Postgres