Logistics app to simplify the exchange of packages
Develop a mobile application that will speed up and reduce the cost of sending parcels within the country. Allow travelers to deliver inbound parcels and earn on delivery. Provide automatic management of free space in the car and notify about new parcels if there is a vacancy.
We decided to implement the basic business logic on the backend part. Provided for the main roles of users: sender and driver. Since each user can perform any role at the same time, we decided not to make separate apps.
We have singled out the business idea in the main functionality:
- Creating trips. This will allow you to choose the route of the trip and add to your trip the parcels that the driver wants to deliver. The system will offer several route options and allow the customer to choose the most convenient based on the number of parcels;
- Ability to re-register any customer and create a driver profile indicating the size of the car and luggage compartment, which will offer parcel delivery given the size of the parcels and the remaining free space;
- A payment system from Squareup was chosen to make payments;
- For the convenience of use during the trip, the driver receives events about new parcels that have appeared on his route and correspond to the size.
The most difficult part of the development process was the calculation of the volumetric weight of the parcels, the free space in the car, and the calculation of logistics routes.
Clean Architecture and MVVM architectures took the basis of the development. All business logic is separated in the domain module.
Firebase Cloud Messaging was used as a way to receive and process events. To make payments - payment system from Squareup. Payment security is ensured by using the native SDK from the payment system – all encryption and security are provided by the payment system.
Client applications use Google Maps, which allows you to display not only the places where you need to pick up parcels, but also complex routes. The display of routes allowed to clearly display for the end user the routes and the number of available parcels on it.
We managed to develop a comprehensive system that includes a backend part with the implementation of basic business logic and native client mobile applications for Android and iOS platforms to simplify the exchange of packages.
Back End Developer
Back End Developer