Back to all cases

Ryde Hopper

Service:
Mobile App
Industry:
Mobile development
Time-frame:
3 months
Team size:
2 developers

Technologies used

  • Python
  • Django
  • Django REST
  • Django REST Swagger
  • Objective-C
  • CoreLocation
  • MapKit

Ryde Hopper is a taxi application that helps students to find riders going the same way and share the costs. The purpose of the project was to create an iOS app from the scratch. Our team worked on both mobile and back-end systems.

clutter project
clutter project

Requirements

Ryde Hopper is a taxi application that helps students to find riders going the same way and share the costs. This application allows:

  • To share a ride.
  • To find riders or drivers going the same way and share the costs.
  • Drivers can offer rides and make extra money on the side.
  • To take money.
  • To find common connections at your school and other colleges nearby.
  • We created this project from scratch and worked on both mobile and back-end systems.
  • Implement Chrome, Mozilla, and Safari extensions.
  • We created this project from scratch and worked on both mobile and back-end systems.

iOS Development

Our team was responsible for creating these features:

  • Email/password login (in accordance with the standard security tokens).
  • Login via Facebook.
  • Profile: name, surname, mobile number, sex, and role (driver and rider).
  • Requests for a trip (as a driver or rider).
  • Search function for existing requests.
  • Maps to find/fill address.
  • Custom calendar (you can create one or several trips).
  • Stripe for payment system.

Back-End Development

The requirements of the back-end development consisted of:

  • Build a high-quality product that allows handling the data of a lot of users. The product has been implemented, released and has been working for more than a year. The project quality was confirmed by the minimum amount of errors during the support. Handling of the data of a lot of connections was implemented.
  • Communication between back-end and front-end should be implemented using API functions. The API system doesn’t allow users to enter inaccessible data. Otherwise, it returns the description of the error itself. We created a well-documented functionality which includes the descriptions of the functions, examples of the requests, and examples of the responses for these requests. It gave the ability to prevent a lot of questions during the front-end development.
  • Create the chat between two users. Chat has been implemented using the Push messages. The modularity of the project allows to optimise and improve this chat at any time when the load increases on a particular section of the project. Our team implemented push messaging functionality used by us in the future product, which also saved our time.
  • Implement a flexible search system for customers and carriers.This search system includes the number of empty seats in the car, the cost of a ride, the ride date, the ability to specify the gender of the driver, the place of departure and arrival. The search system allows users to find the next trip by the time, date, and the closest position on the map. The drive date, sex of the driver, and the cost of the ride are taken into account in the search if it was necessary for the user.
  • Provide testing. We created a lot of tests, and tests covered more than 90% of the code.
  • Create the payment system with the possibility of payment in advance (before the trip) and with the ability to cancel the payment and to return the funds if the trip doesn't take place.
  • Implement a flexible search system for customers and carriers.This search system includes the number of empty seats in the car, the cost of a ride, the ride date, the ability to specify the gender of the driver, the place of departure and arrival. The search system allows users to find the next trip by the time, date, and the closest position on the map. The drive date, sex of the driver, and the cost of the ride are taken into account in the search if it was necessary for the user.
  • Push notifications for iOS devices about the payment status and the emergence of new participants in the trip. The modularity allows the user to add this function to other platforms.