Client Requirements
The client wanted to make an online app in Saudi Arabia, where people can buy products from anywhere and get the order delivered to their doorstep. Another essential purpose of the client was to provide the products from a specific location for someone else. The client also needs guest user functionality where users can view how the app works, and the client wanted to add one main functionality that was to view nearby drivers on the map and track the ordered product by track ID. The client approached Hyperlink InfoSystem to develop an app for both Android and iOS platforms to fulfill this requirement.
Features
Jayyek – For Customers
Map View Integration
- Users can view nearby drivers from the location and also consider different car types like Sedan, Mini & Lorry, to place an order.
My Orders
- Users can view their current orders and their order status, and also they can cancel the order by giving a proper reason.
Order Details
- Users can get all order details like a product, drop off person's details, driver's information, location & price.
Referral Code Integration
- Users can refer an app to friends to install an application by using their referral code.
Wallet
- Users can add some amount to their wallet, which will deduct at the time of place order.
Language
- Multi-language functionality integrated for using an application in English or Arabic language.
Place Order
- Users have to select a type of delivery that they want, select category & description about the product, drop off person details like name, image & contact number. And finally, select drop off locations where the product will be delivered.
Payment
- After successfully placed order, users get a receipt containing order details and pay by their card or wallet.
Guest Users
- Guest users can see nearby drivers. And they are also tracking their product by track id given by app users.
Jayyek – For Drivers
Document Verification
- Drivers need to enter vehicle details and upload relevant documents of the drivers and the vehicle.
New Request
- Drivers can accept or reject the request within 30 seconds of the order placed by the customer. Drivers can view displays a customer's name, image, order type, drop off location & price.
Map Integration
- Drivers can view the current location on the map with total earnings & total trips of the week.
Set Availability
- Change the availability status to accept a new order.
Driver Of The Month
- A driver can find the driver of the month's details of the previous month.
Total Earnings
- Drivers can view the bar chart that represents driver's earning weekly & monthly.
Payment Settings
- The driver needs to add their bank information for settlement.
Admin Panel Features
Customers Management
- View, edit and delete customers details
- Active/Inactive customers
Drivers Management
- View, edit and delete drivers details
- Active/Inactive drivers
- Approve/disapprove drivers request
Orders Details
- Admin can view all orders and order status like waiting for an order, assign order, arrived order, processing order, completed order, canceled orders.
Vehicle Management
- View, add, edit & delete vehicle details
Category
- View, add, edit & remove category details
Advertisement
- Admin can add, view, edit & remove the advertisement.
- Add advertisement with image & URL for a redirect.
Reports
- Admin can see order listing by order type, with specific car type, & with a particular period.
Alerts
- If drivers are off the track, which means they are not following the suggested path for the delivery, the admin can notify a particular driver.
Roles
- Admin can create, view, edit & remove new admins with specific roles, and they can create new admins by image, name, email, password & functions.
Challenges
Realtime Location of Drivers on Map
As per the app functionality, the customer’s side app should show the nearby drivers with real-time location tracking as they move on the road. This functionality requires frequent updates of the location of a driver. To implement this functionality was a little bit tough. After research and hard work, our developers have resolved this issue using a custom location manager class to update the current location on a small amount of time interval.
Handle Multiple Drop Off
Customers can add multiple drops off addresses. A client wants to develop an app where a driver picks up items from one location and delivered them to various locations. This is one of the most challenging tasks for a developer to manage multiple drops off with live tracking on the customer side and as well as for the guest users. But after some in-depth research, this crucial task was done successfully.
Technologies
Android
Android OS Support:
Android 5.1 to Android 8.0
Development:
Java using Android Studio 3.3
iOS
iOS OS Support:
iOS 9.0 to 12.0
Development:
Swift 5.0 using Xcode
Admin Panel
Technology: PHP, CodeIgniter Framework
Database: MySQL
API: REST API in JSON format