Ua

Ви використовуєте застарілу версію Internet Explorer. Для покращення роботи сайту, будь ласка, поновіть ваш браузер

Taxi Service

Складність проекту
2017
Дата завершення проекту:
  • Опис

Tab 1

Служба таксі - це клієнт-серверний додаток для пошуку, виклику і оплати таксі, який включає в себе розробку мобільних додатків для водіїв і пасажирів на Android і iOS, які взаємодіють з бекендом через RESTful API.

Функціональність сервісу включає в себе різні опції, специфічні для кожної сторони користувачів. Інтеграція з картографічними сервісами Google і Yandex дозволяє пасажирам бачити на карті, чи є доступні таксі в їх місцевості і вибрати найближчий автомобіль з урахуванням пробок, а інтеграція з системами обробки платежів забезпечує можливість оплати поїздок готівкою або банківськими картами. Замовлення таксі «в один клік» робить сервіс дуже простим у використанні. Додаток показує час до прибуття таксі і приблизну вартість поїздки, які обчислюються на стороні сервера. Крім цього, пасажири можуть бачити рейтинги водіїв, переглядати історію своїх поїздок, а також відмовитися від таксі, якщо в ньому вже немає необхідності.

Додаток для водіїв дозволяє їм приймати замовлення, вказувати бажаний район замовлення і обирати замовлення за місцем розташування. Завдяки різним варіантам роботи, передбаченим сервісом, вони можуть виходити на лінію в будь-який зручний час. Крім того, водії можуть проглядати статистику свого часу роботи, кількості замовлень і доходів за різні періоди, а також керувати своїм профілем. Сервіс включає в себе систему бонусів і штрафів, а також оптимальний алгоритм додаткових виплат за поїздки на короткі і довгі дистанції і відмови. Додаток дозволяє розділити райони на зони і визначити коефіцієнти зон, які впливають на вартість поїздки, в залежності від навантаження. Водії і пасажири спілкуються за допомогою дзвінків і повідомлень безпосередньо з програми.

Управління системою здійснюється через веб-доступу. Адміністратори керують профілями водіїв, коефіцієнтами зон, фінансовою частиною сервісу, системою бонусів і штрафів, можуть бачити історію поїздок.

Основні технічні особливості служби:

  • оптимізація API за допомогою long-pool запитів
  • інтеграція з картографічними сервісами Google і Yandex
  • підтримка безперервної роботи у фоновому режимі
  • взаємодія з платіжними системами через API
  • власний фінансовий блок для обробки транзакцій

Цей проект виявився досить складним для реалізації і, працюючи над ним, наша команда зіткнулася з багатьма задачами, які вимагали високого професіоналізму і відмінних навиків роботи кожного члена команди:

  • Високе навантаження системи, пов'язане з постійним підключенням до сервера з використанням мобільного Інтернету, вимагало розробки оптимальних алгоритмів і способів взаємодії між додатками і сервером;
  • Реалізація фінансового блоку, інтеграція з системами обробки платежів;
  • Оптимізація системи, щоб вона працювала в фоновому режимі безперервно;
  • Реалізація великої кількості кастомних елементів інтерфейсу.

Платформа: Server, Web, Mobile

ОС: iOS, Android, Linux

Мови програмування: Java, JavaScript, Objective-C

Фреймворки / Бібліотеки: 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

Технології: Geo-location (Yandex, Google), Fin-tech,  High-load, Background mode, Push notifications, REST API

Команда:

  • 3 Java розробники
  • 3 Android розробники
  • 3 iOS розробники
  • 1 JavaScript розробник
  • 1 QA менеджер + 1 інженер автоматизованого тестування + 1 інженер ручного тестування
  • 1 PM + 1 Team Lead + 1 архітектор системи
  • 1 системний адміністратор

Технології

JAVA
iOS
Android
JS

Послуги

Веб розробка
Мобільні додатки
Тестування ПЗ
Розробка архітектури системи