Edao — первый дружелюбный сервис по борьбе с food waste в России. Мобильное приложение позволяет клиентам покупать еду, отвечающую всем стандартам качества, со скидкой от 50%, а заведениям минимизировать продовольственные потери, продавая дешевле, а не выбрасывая блюда, оставшиеся в конце дня.
С помощью Edao пользователь может выбрать понравившуюся еду онлайн и забрать свой заказ из ближайшего заведения.
Для этого нужно:
Команда BTC выполнила полный цикл работ и сделала приложение с «нуля».
Для реализации идеи клиента была составлена документация с описанием бизнес-логики проекта. На основании документации и маркетинговых исследований была разработана дизайн-концепция в соответствии с принципами Material Design.
Для управления рабочими процессами на проекте использовался метод Kanban Agile-методологии.
Работа над серверной частью велась на языке Python с использованием Django Framework. Разработка клиентской части Android проходила на языке Kotlin, iOS — на языке Swift.
Для работы с платежами мы интегрировались с API банка ПСКБ. В качестве сервиса рассылки сообщений пользователю использовали SMSProfi, а для отправки push-сообщений — сервис Firebase.
Над проектом работала команда из 12 человек: Android, iOS, backend-разработчики, UX/UI дизайнеры, QA-инженер и менеджер проекта.
Технологический стек:
Архитектура iOS:
Приложение построено на основе шаблона проектирования VIPER. Интеракторы
служат для выполнения бизнес-логики, представления отображают данные, презентеры служат
мостом между представлением, интеракторами и различными побочными сервисами. Роутеры в
текущем шаблоне заменены координаторами.
Архитектура Android:
Архитектура базируется на принципах Clean Architecture при использовании
паттернов MVP и DI. В слое представления идет обращение к различным классам модели. Классами
модели являются репозитории, интеракторы, менеджеры, в которых выполняется часть бизнес
логики, хранение и получение сущностей, взаимодействие с API. Каждый экран (View) реализует
определенный интерфейс взаимодействия с Presenter.
Архитектура Backend:
Приложение построено на классическом MVC. Средствами API предоставлена
возможность работы с заказами, магазинами и товарами. Реализована административная часть для
управления заказами.