RU EN UA
Напишіть нам
Попередній Наступний

Balabing — додаток для управління фуд-траками

balabing.com
Індустрія Громадське харчування
Розташування США
Розробка 2019-2020

Фуд-траки стають все більш популярними, але клієнтам часто доводиться стояти в черзі. Ми вирішили спростити завдання для клієнтів і створити програму, яка дозволяє створити замовлення віддалено, сплатити його онлайн і швидко отримати замовлення біля фуд-трака.

Анна Теребеніна-Таггарт, COO Food Teck

Завдання

Завданням Stfalcon стало створення iOS та Android додатків, які дозволяють користувачам здійснювати замовлення їжі і оплачувати його, виконавцю - швидко приймати замовлення в роботу, а замовнику реалізовувати певні адміністративні функції через адміністративну панель в інтернеті.

— Нам вдалося створити додаток, який вже у першій ітерації перевершив очікування замовника.

Світлана Болгар, Проектний Менеджер

Технології.
Android

У цьому додатку, як і в усіх проєктах на базі Android, ми дотримувались принципів Clean Architecture. Використання загальних Domain і Data модулів для додатків клієнта і Вендора дозволило уникнути дублювання бізнес логіки, і в підсумку суттєво зекономило час розробки і дозволило спростити внесення змін у майбутньому.

Оскільки бібліотека Centrifuge-Android на даний момент ще не стабільна, для socket з'єднання ми написали власну реалізацію підключення до Centrifugo за допомогою бібліотеки Scarlet. Трекінг позиції вендора здійснюється за допомогою бібліотеки HyperTrack, це забезпечує високу точність і безперебійність відправки координат на сервер.

iOS

Архітектура версії IOS реалізована, як і на Android, з 4 модулів: для постачальника, для клієнта, домен і дані. Оскільки була використана архітектура MVVM, для прив'язки даних використовувався RxSwift. Ми застосували Swinject, Dependency Injection бібліотеку для ініціації нових модулів. Це спрощує їх створення та повторне використання. Для відстеження геолокації користувача в додатку використовується HyperTrack, який, у свою чергу, використовує CoreMotion для більшої точності.

Для з'єднання з сокетом використана бібліотека CentrifugeIOS, однак у дещо модифікованому вигляді. Для інтеграції анімації в додатку ми використовували Lottie.

Backend

Бекенд реалізований мовою програмування PHP-фреймворку Symfony останньої версії на момент розробки (4.4). Оскільки ця програма є стартапом, є плани щодо подальшого розширення і нарощування функціонала в наступних версіях. Для створення початкової версії було обрано напівготове рішення для адмін панелі - EasyAdminBundle. Його можна легко налаштувати відповідно до потреб клієнта. Не зважаючи на найпростіший вигляд, це рішення чудово виконує свої функції простої і зрозумілої адмін панелі. Для користувачів реалізована можливість легкої реєстрації та авторизації в додатку через e-mail або Facebook-аккаунт.

Ми використали Google Places і GPS трекінг, щоб дозволити користувачам шукати й обирати фуд-трак за його розташуванням. Крім того, у клієнта є можливість фільтрувати пошук за типами кухні, назвою вендора.

Для повнотекстового пошуку використовується Elasticsearch. Для забезпечення зв'язку сервера з мобільним додатком, ми використовуємо web-socket сервер Centrifugo. Він легкий і швидкий для розробки і забезпечує хорошу продуктивність. Також для проведення платежів була підключена платіжна система Payzang.

Код на Backend повністю покритий модульними тестами, а також частина адмін панелі, яку ми дописали, покрита функціональними тестами. На проєкті використовуються різні аналізатори коду, які дозволяють визначати проблему ще на моменті розробки і робити код більш якісним.

Результат

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



Над проектом працювали:

  • Светлана Болгар
    Светлана Болгар

    Проектний менеджер

  • Александр Кононенко
    Александр Кононенко

    Дизайнер

  • Артем
    Артем

    Backend Розробник

  • Антон
    Антон

    Android розробник

  • Александра Битюк
    Александра Битюк

    Керівник відділу QA

Приклади розробки веб-сайтів

  • Сервис on-demand массажа.

  • Онлайн-продажа автобусных билетов

  • Сервис для эффективного поиска заправок в Швейцарии