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.

0x0ss-2.png

 

Description

Description.png

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

This application allows:

tick.png

To share a ride

 

tick.png

To find riders or drivers going the same way and share the costs

 

tick.png

To make money

 

tick.png

Drivers can offer rides and make extra money on the side

 

tick.png

To travel smartly

 

tick.png

To find common connections at your school and other colleges nearby

 

tick.png

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:

 

next.png

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.

 

Next.png

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.

 

Next.png

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.

 

Next.png

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.

 

Next.png

Provide testing. We created a lot of tests, and tests covered more than 90% of the code.

 

Next.png

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.

 

Next.png

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.

 

 

iOS development

Our team was responsible for creating these features:

 

done.png

 

Email/password login (in accordance with the standard security tokens)

 

done.png

 

Login via Facebook

 

done.png

 

Profile: name, surname, mobile number, sex, and role (driver and rider)

 

done.png

 

Requests for a trip (as a driver or rider)

 

done.png

 

Search function for existing requests

 

done.png

 

Maps to find/fill address

 

done.png

 

Custom calendar (you can create one or several trips)

 

done.png

 

Stripe for payment system

 

 

 

Technologies for back-end

backend.png

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

ios.png

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.

 

 

© Copyright 2018 AnvilEight LTD