Balabing — розробка мобільного додатку для управління фуд-траками
balabing.com
Фуд-траки стають все більш популярними, але клієнтам часто доводиться стояти в черзі. Ми вирішили спростити завдання для клієнтів і створити програму, яка дозволяє створити замовлення віддалено, сплатити його онлайн і швидко отримати замовлення біля фуд-трака.
Анна Теребеніна-Таггарт, COO Food Teck
Завдання: автоматизація замовлень та ліквідація черг
Завданням Stfalcon стало створення iOS- та Android-додатків, які дозволяють користувачам здійснювати замовлення їжі і оплачувати його, виконавцю — швидко приймати замовлення в роботу, а замовнику — реалізовувати певні адміністративні функції через адміністративну панель в інтернеті.

— Нам вдалося створити додаток, який вже у першій ітерації перевершив очікування замовника.
Світлана Болгар, Проектний Менеджер
Технології: Centrifugo, HyperTrack та Clean Architecture
Android
У цьому додатку, як і в усіх проєктах на базі Android, ми дотримувалися принципів Clean Architecture. Використання спільних Domain і Data модулів для застосунків клієнта та вендора дозволило уникнути дублювання бізнес-логіки. Це суттєво зекономило час розробки та спростило внесення змін у майбутньому.
Оскільки бібліотека Centrifuge-Android на момент розробки була нестабільною, ми реалізували власне WebSocket-підключення до 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
Розробка логістичних рішень з генеративним ШІ
Допомагаємо транспортним і логістичним компаніям масштабуватися швидше:
- 16+ років експертизи у логістиці
- Повний цикл розробки ПЗ
- На 30% швидша розробка завдяки AI
- Наші клієнти: Ecolines і Нова Пошта



