О проекте

Edao — первый дружелюбный сервис по борьбе с food waste в России. Мобильное приложение позволяет клиентам покупать еду, отвечающую всем стандартам качества, со скидкой от 50%, а заведениям минимизировать продовольственные потери, продавая дешевле, а не выбрасывая блюда, оставшиеся в конце дня.

Скачать Edao в App Store Скачать Edao в Google Play

Описание приложения

С помощью Edao пользователь может выбрать понравившуюся еду онлайн и забрать свой заказ из ближайшего заведения.

Для этого нужно:

  • Бесплатно скачать Edao из AppStore или Google Play и зарегистрироваться в приложении по номеру телефона.
  • Включить геолокацию, чтобы увидеть список доступных ближайших ресторанов, а также маршруты и расстояния до них.
  • Добавить понравившиеся блюда в корзину и оформить заказ.
  • Получить подтверждение от заведений о наличии выбранных блюд.
  • Оплатить заказ онлайн и забрать его из ближайшего кафе, бара или ресторана.

Процесс работы над проектом

Команда BTC выполнила полный цикл работ и сделала приложение с «нуля».

Для реализации идеи клиента была составлена документация с описанием бизнес-логики проекта. На основании документации и маркетинговых исследований была разработана дизайн-концепция в соответствии с принципами Material Design.

Для управления рабочими процессами на проекте использовался метод Kanban Agile-методологии.

Работа над серверной частью велась на языке Python с использованием Django Framework. Разработка клиентской части Android проходила на языке Kotlin, iOS — на языке Swift.

Для работы с платежами мы интегрировались с API банка ПСКБ. В качестве сервиса рассылки сообщений пользователю использовали SMSProfi, а для отправки push-сообщений — сервис Firebase.

Над проектом работала команда из 12 человек: Android, iOS, backend-разработчики, UX/UI дизайнеры, QA-инженер и менеджер проекта.

Описание приложения

Технологический стек:

Swift
Swift
Kotlin
Kotlin
Python
Python
Django
Django

Архитектура iOS:
Приложение построено на основе шаблона проектирования VIPER. Интеракторы служат для выполнения бизнес-логики, представления отображают данные, презентеры служат мостом между представлением, интеракторами и различными побочными сервисами. Роутеры в текущем шаблоне заменены координаторами.

Архитектура Android:
Архитектура базируется на принципах Clean Architecture при использовании паттернов MVP и DI. В слое представления идет обращение к различным классам модели. Классами модели являются репозитории, интеракторы, менеджеры, в которых выполняется часть бизнес логики, хранение и получение сущностей, взаимодействие с API. Каждый экран (View) реализует определенный интерфейс взаимодействия с Presenter.

Архитектура Backend:
Приложение построено на классическом MVC. Средствами API предоставлена возможность работы с заказами, магазинами и товарами. Реализована административная часть для управления заказами.