Android Rideshare Applications Implemented for Riders and Drivers

The client is a non-profit ridesharing company that is powered by donations with paid and volunteer hours from the city’s tech community and the broader community working together. They offer riders the ability to roundup fares for local charities and organizations. Additionally, a percentage of sport utility vehicle and premium fares are automatically donated to provide free rides to the elderly, veterans, and to help underprivileged people get to work. The company believes ridesharing saves lives, empowers drivers and riders, and is a part of the transportation future.

Business Challenge

Following a rideshare company’s departure from the city, the client saw an opportunity to fill a market niche. With other competitors also wanting to fill the void, the client knew they had to act fast to be first to market. The time pressure was significant—the first deliverables were expected one and half months after kickoff.

Project Description

The client consulted with SoftServe to implement two Android applications for riders and drivers. The SoftServe team was responsible for the full cycle of the Android app development, which included:

  • Building the team
  • Gathering requirements
  • Setting up the environment—CI part and delivery to "play market"
  • Beta testing and supporting beta users

The SoftServe team worked with Google maps APIs, pooling different events from servers— getting requests for rides, ride cancelations, different types of notifications, etc. Also, the team was responsible for:

  1. Implementing a state machine to easily maintain different states of the application when it was closed or if something went wrong.
  2. Extrapolating the traveled route to ensure smooth and correct animation.
  3. Optimizing GPS usage to significantly save device charge.

The SoftServe team was fully independent and worked directly with the client’s product owner (PO). The team’s structure was altered to support the different phases of the project—the entire lifecycle from identifying product requirements to production. The team communicated daily with the PO and conducted new feature demos biweekly.

There were 2 releases weekly:

  1. Main features
  2. Critical bugs fixes

The deliverables were planned with four main milestones and fixed dates. After the second milestone, the rider and driver apps were released. During the next two milestones, the SoftServe team developed unique features that helped the client beat the competition. The collaboration lasted about three and a half months. After the product was complete, the team passed their knowledge and documentation to the client for further development and support.

Technology Stack

Programming Languages, Technologies, Frameworks, Libraries Java, Android SDK, Support libraries, Google play-services, Google maps, Data Binding, RxJava, HockeyApp, Fabric, Stripe
Development Practices Code Review, Coding Standards, Continuous Integration
IDE Android Studio 2.1
Build Tools Gradle 2.1.3
Source Control Tools GIT (BitBucket)
Continuous Integration Tools Jenkins 2.11
Static Code Analysis Tools Android lint
Code Review Tools BitBucket (pull requests)
Load and Performance Testing Tools Android monitor
Issue Tracking Tools Jira
Application and Web Servers Server side provided by customer

Value Delivered

As a result of the project, the client has realized the following benefits:

  • Request/accept rides, cancel rides from both sides, change the root
  • Promotions
  • Support of different types of cars (dynamically)

The team extended the functionality to include:

  • Support of city zoning based on high or low demand from riders
  • Separate queues for drivers at the airport
  • Women only drivers
  • Support of specific car types for free rides for some zone within the city

SoftServe helped the client to decrease time to market and to occupy a market niche in the city.

Let's Talk