Ryde Hopper

Ryde Hopper​ is​ a ride sharing app that allows students to safely and easily coordinate transportation.

Ryde Hopper

Ryde Hopper​ is​ a ride sharing app that allows students to safely and easily coordinate transportation.

Description

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

To make money

Drivers can offer rides and make extra money on the side

To travel smartly

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.

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.

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.

Technologies for back-end

We used Python language for the back-end development, and Django web framework for creating a small website with the description of the functions of the project. For API, we used Django REST framework that allows making flexible request/response. We used Django REST Swagger for creating API documentation functions. For the payment system, we used Stripe API.

Technologies for iOS

The project was written using Objective-C language. We worked on geolocation and map features using CoreLocation and MapKit, created requests to the server-side using JSON and NSURLSession, set up push notifications with APNs and created custom UI elements using custom calendar view. We used Scrum Agile methodology for planning short-term sprints for effective and close team collaboration. We had regular meetings with the product owner to manage the process of the development and we had daily meetings inside of the team.