En

You are using the outdated version of Internet Explorer. For better experience with this website, please upgrade your browser.

Taxi Service

Project complexity
2017
Project delivery date:
  • Description

Tab 1

Taxi Service is a client-server application for searching, calling and paying for taxi, which includes development of mobile applications for drivers and passengers on Android and iOS interacting with back-end via RESTful API.

The functionality of the service includes a variety of options specific for every user side. Integration with Google and Yandex map services allows passengers to see on a map if there are available taxis in their location and choose the nearest car considering traffic jams. And integration with payment processing systems provides a possibility of paying for trips by cash or bank cards. Order of a taxi «with one click» makes it very easy to use. The application displays time to taxi arrival and approximate cost of a trip, which are calculated on the server side. Except for that, passengers can see ratings of drivers, view the history of their trips, and refuse a taxi order in case it's not needed any more.

Application for drivers allows them to take orders, specify desirable area of order and select orders by location. Due to different work options, they can start their shift at any convenient time. Also drivers can see their statistics for work time, quantity of orders and income for different time periods, and manage their profile. The service includes a system of bonuses and fines, and optimal algorithm of additional payments for short and long distance trips, and refusals. It is possible to divide areas into zones and define zone coefficients, which influence cost of a trip, depending on load. Communication between drivers and passengers is realized via calls and messages directly from the application.

The whole system is managed via web access. Administrators can manage drivers' profiles, area coefficients, financial part of the service, the system of bonuses and fines, see history of trips.

The main technical features of the service are:

  • optimization of API with the help of long-pool requests
  • integration with Google and Yandex map services
  • support for continuous work in the background mode
  • interaction with payment systems via API
  • own financial block for processing transactions

This project turned to be quite complicated to implement and, while working on it, our team faced many challenges which required high professionalism and excellent skills of every team member:

  • High load of the system, related to permanent connection to the server using mobile Internet, required development of optimal algorithms and ways of interaction between applications and server;
  • Realization of financial block, integration with payment processing systems;
  • Optimization of the system, so that it works in the background mode without interruptions;
  • Implementation of a big number of custom UI elements.

Platform: Server, Web, Mobile

OS: iOS, Android, Linux

Programming languages: Java, JavaScript, Objective-C

Frameworks/Libraries: Butterknife, CoreAnimation, CoreGraphics, CoreLocation, Crashlytics, Eventbus, Google API, Yandex API, Gradle, Gson, Hibernate, JAX-RS, Jersey, Mailgun API, OkHttp, Parceler, Picasso,  RestKit, Retrofit, Retrolambda, Spring Quartz, Spring Security

Technologies: Geo-location (Yandex, Google), Fin-tech,  High-load, Background mode, Push notifications, REST API

Team:

  • 3 Java developers
  • 3 Android developers
  • 3 iOS developers
  • 1 JavaScript developer
  • 1 QA manager + 1 Automation test engineer + 1 Manual Tester
  • 1 PM + 1 Team Lead + 1 System architect
  • 1 System administrator

Technologies

JAVA
iOS
Android
JS

Services

Web development
Mobile Apps Development
Testing & QA
System architecture development