Zroomm
On Demand Courier Delivery App Like Uber
Say hello to new and exciting courier/parcel on demand delivery app we developed, Zroomm. Just a few taps to get your package picked up and delivered when and where you need!
Zroomm allows user to schedule a delivery anytime from anywhere. It is designed and developed in such a way that it serves as a one stop solution for customers, drivers and system admin to help save time, save money, get rid of delivery troubles and most importantly save your precious items.
When and Where you need it!
Schedule a Delivery
This app allows user to schedule a delivery at their convenience with pick up and drop off addresses and can schedule that delivery for a particular time and date. It also provides feature like same day delivery for urgent need of delivery. In this app to make sure that the package is delivered properly and to ensure the delivery the user will get the confirmation by the recipient’s digital signature.
Select date & Time
Tend to forget important dates? Schedule your delivery in advance. Choose any date & time, Zroomm drivers are 24*7 available and they will deliver your package without fail.
Enter Address
Enter your pick up and delivery address to schedule a delivery. User can add their favourite location for the easy access.
Pick Location from Map
No need to type whole address. User can also directly pin their pick up location and delivery location within the map.
Choose your Delivery Package
Number of Packages and its Type
The user will get to choose from the various type of packages like document, laptop, boxes, clothes, food, etc. Our algorithms and business logic will also recommend the cost for the delivery. also recommend cost for the delivery. The cost is calculated on the basis of the pickup and drop off details, time of delivery, package quantity, and type of package, considering all this factor the recommended cost is displayed and the user can enter exactly that amount or more than that for the delivery.
Confirm Your Booking
Verify all the Details!
This screen will display all the details entered by the user like pick up and drop off address, time and date, package detail and estimated cost for the delivery. As soon as the user confirms the detail the delivery request has been sent and seen any of the available driver will accept the request and you can track the driver and delivery status all the time.
Payment and Promo Code
Avail Exciting Offers
User can see their saved card details, add new card details as well and make payment. In this app promo codes has been also integrated, user can avail the benefits of exciting discounts by applying promo codes.
All Set! You Just Zroommed it.
Track your delivery
Zroomm it, sitback and relax! Your package is in safe hands and will get delivered as and when you wanted. Get the real time updates and tracking of the package right through your app and also a digital signature to ensure the confirm delivery.
Features
Zroomm Courier
Let’s drive through the driver’s Journey
Verify Driver Profile
Driver Details
To register in this app as driver, user have to enter all the required details and submit it. Admin will have a look at it verify it if all the details found to be authenticate. This verification process ensure that all the registered drivers are authenticate and admin can have driver’s details saved in the system to access it anytime in future.
Upload Documents
User can see their saved card details, add new card details as well and make payment. In this app promo codes has been also integrated, user can avail the benefits of exciting discounts by applying promo codes.
Driver’s Availability
Schedule your availability
Once the Driver’s profile is approved by the admin, driver will get an option to schedule their availability for the pickup and delivery. The driver will get option to select from day and time period he/she will be available. Driver can customise their availability anytime from the settings option.
Driver Profile
View and Edit Details
This screen will let the driver to view and edit their profile details. More on that the driver can change their vehicle type and select from cycle, bike, car, and truck. Every vehicle type has assigned maximum weight. The driver has to keep in mind the weight of the requested package and available vehicle while accepting the request.
Home Screen
Get the Nearest Delivery Request
The driver’s home screen will show a live request for a delivery. The request which will pop up in the home screen for the driver will be the most recent one and the driver get to see the package details, pick up and delivery details to decide whether to select or reject the request.
PickUp the Package
Get all live Requests
If the driver choose not to accept the most recent request from the home screen, he/she can view all the scheduled live requests from this screen and accept the requests which are convenient for them.
Pick Up Details
Pick Up Detail screen will show the details like address,date and time, package details, photos of the package and price. Driver can accept or deny the request from this screen.
PickUp Address Route
As soon as the driver accepts the request this screen will show up with the route to the pick up address on the map.
Confirm PickUp
Once the driver is at the location and picked up the package, driver has to click and upload picture of the package to confirm the pick up.
Deliver the Package
All ongoing Deliveries
Drivers get to see the list of all accepted and ongoing deliveries on this screen. The driver can filter the deliveries and pickup on the basis of their scheduled time, date, and location. This screen will also shows the status of each and every request accepted.
Delivery Details
Delivery Detail screen will show the details like address, delivery date and time, package details, photos of the package and price. Driver can start the delivery route from this screen.
Delivery Address Route
As soon as the driver starts the delivery this screen will show up with the route to the delivery address on the map.
Confirm Delivery
The delivery confirmation is a very crucial part of this process and to make sure no blunders in that, we have implemented a Digital signature feature as the recipient has to sign on the drivers device for confirming the delivery.
Mobile App Technology Stack
Cross-Platform
React Native
A framework for building native apps with React.
Push Notifications
Firebase
Firebase Cloud Messaging (FCM) is a cross-platform messaging solution that sends notification messages to drive user re-engagement and retention.
Real-Time Communications
Deepstream
Deepstream is a powerful websocket server that syncs realtime data between browsers, smartphones, backends and the IoT.
Crash Reports
App Center SDK
The App Center SDKs use a modular architecture so you can use any or all of the services below.
Social Login
Facebook SDK
People can sign in to the app with their Facebook Login
Map Components
Maps
For view maps and get driving directions in Google Maps.
Payment
Stripe
Stripe is a suite of payment APIs that powers commerce for online businesses of all sizes
Backend and Web App Technology Stack
Cache & Message Queue
Redis
Redis, RE-dis is an open-source in-memory data structure project implementing a distributed, in-memory key-value database with optional durability.
Push Notifications
Firebase
Firebase Cloud Messaging (FCM) is a cross-platform messaging solution that sends notification messages to drive user re-engagement and retention.
File Storage
ZFS File Server
ZFS is a combined file system and logical volume manager designed by Sun Microsystems.
Cloud Server
Google Cloud
Google Cloud is a suite of cloud computing services that runs on the same infrastructure that Google uses internally for its end-user products, such as Google Search and YouTube.
Infrastructure Orchestration
Rancher
Rancher is enterprise management for Kubernetes.
Docker
Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications, whether on laptops, data center VMs, or the cloud.
Database
PostgreSQL
PostgreSQL, often simply Postgres, is an object-relational database management system with an emphasis on extensibility and standards compliance.
RethinkDB
RethinkDB is a free and open-source, distributed document-oriented database originally created by the company of the same name.
Backend Server
PHP-FPM
PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites.
Node.js
Node.js is an open-source, cross-platform JavaScript run-time environment that executes JavaScript code outside of a browser.
Load Balancer
Nginx
Nginx is a web server which can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.
HA Proxy
HAProxy is a free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications.
Frontend Server
Nginx
Nginx is a web server which can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.
Routing Engine
Open Source Routing Machine ( OSRM )
The Open Source Routing Machine or OSRM is a C++ implementation of a high-performance routing engine for shortest paths in road networks.
Logging & Monitoring
Elastic Search
Elasticsearch is a search engine based on Lucene. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents.
Logstash
Logstash is an open source, server-side data processing pipeline that ingests data from a multitude of sources
Kibana
Kibana is an open source data visualization plugin for Elasticsearch.
Grafana
Grafana is an open source data visualization & monitoring platform with support for Graphite, InfluxDB, Prometheus, Elasticsearch and many more databases.
CI/CD
Gitlab
GitLab is a web-based Git-repository manager with wiki, issue-tracking and CI/CD pipeline features
Real-Time Socket Server
Deepstream Server
Deepstream is a realtime data server and a great one of that.
Frontend Technology Stack
CDN
Firebase CDN
Firebase CDN provides fast and secure static hosting.
Frontend Framework
Reactjs
React is a JavaScript library for building user interfaces. It is maintained by Facebook and a community of individual developers and companies.
Ant Design
A design system with values of Nature and Determinacy for better user experience of enterprise applications.
Features
Challenges
Live Tracking & Real Time Location
The live tracking and the real time location of the driver was one of the major challenge our team has overcome. By using Low latency network base protocol and multiple websocket we have ensured this feature works seamlessly. Streaming pipeline has been utilized by our team for the real time locations.
Optimal Route Calculations
Using open street routing machine (OSRM) for the optimal route calculations rather than Google maps proved more powerful and efficient routing machine for system to solve shortest paths in road networks. This is the most important feature on the driver side, so quick processing is must.
Delivery Scheduling
Managing three types of delivery schedule was a crucial task. Future scheduling, Real Time scheduling and 3 hour scheduling managing all this won’t be possible with the monolithic applications. So, here we have implemented a type of microservices to manage all the scheduling data and a queue is managed for the job processing. This proven to be a very optimised and reliable solution.
Server Monitoring, Alerting, Logging and Debugging
Being a very complex and interdependent system deploying the whole system on server is also a challenge. Server monitoring, alerting, logging and debugging is the major factor that our team has taken care of. Also used some high performance computing VMs majorly for the OSRM part to ensure the quality results.
Automatic Failover
To cope up with the particular single module failure or issue we have worked on the automatic failover that will auto scale the real time web socket server. This ensures the recovery of server is smooth and system flow stay intact, that provides a seamless user experience.
24x7 Working System
Allowing consumers and drivers to access the app 24x7 is a very important aspect for the app. Managing all the live requests, job processing and delivery scheduling 24x7 on basis of the drivers availability, selected vehicle type and weight is very must to deliver a smooth experience to the user base.
Solution
From smooth delivery scheduling, tracking delivery to secured delivery system with the digital signature confirmation and from optimized routing, live filtered delivery request to scheduling the availability. Every aspect has been taken care of by our team at both consumer and driver level.
Our team have been master in identifying the different uses cases and challenges, brainstorming them and come up with the best solution for that. This project has challenged our team at many different levels. But our team was always up fo the challenge and soon we have a result in our hand as a complete On-Demand Courier Delivery App all set to disrupt the market.