Предыдущий проект Следующий проект

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.

Код на бекенде полностью покрыт модульными тестами, а также дописанная часть админ панели покрыта функциональными тестами. Также на проекте используются различные анализаторы кода, которые позволяют определять проблему еще на моменте разработки и делать код более качественным.

Приложение превзошло ожидания нашей команды. Stfalcon обеспечивает согласованную систему управления проектами, так, что обе команды находятся на одной волне. Команда выходит за рамки стандартных требований, чтобы обеспечить качественный результат.
Анна Таггарт
COO, Food Teck, LLC/Balabing

Результат

Хотя разработка приложения продолжается, и проводится тестирование платежной системы, первоначальная версия уже превзошла ожидания заказчика с точки зрения UX. На данном этапе осуществляется планирование новой фазы разработки и расширения функционала приложения.



Над проектом работали:

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

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

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

    Дизайнер

  • Артем
    Артем

    Backend Разработчик

  • Антон
    Антон

    Android разработчик

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

    Руководитель отдела QA

Наши проекты