Как стать автором
Обновить
Dodo Engineering
О том, как разработчики строят IT в Dodo

Три гиканутых проекта к Geek Pride Day

Время на прочтение7 мин
Количество просмотров3.3K
Привет, гики! Поздравляем! Любителям звёздных войн желаем сохранять новые надежды, поклонникам автостопа по галактике советуем не выходить из дома без полотенца, а сторонникам плоского мира рекомендуем сорвать сегодня веточку сирени. Живите долго и процветайте. А под катом вас будут ждать истории про гиков, которых мы нашли в Додо.




День гиков в Додо


Сейчас в Додо Пицце работает около 18 000 человек. Мы подумали, что раз среди нас есть пицца-гики, то должны быть и техно-гики. Задумались и решили найти их: тех, кто придумывает и реализует проекты, которые оптимизируют/автоматизируют процессы, кто стремится улучшить мир вокруг себя. Среди всех проектов, которыми с нами поделились, с помощью наших CTO Саши Андронова, CMO Вани Тихова и CPO Серёги Грязева мы выбрали трёх финалистов и хотим рассказать вам про них.

Если лениво читать
— можно посмотреть.




3 место. Проект «HS Player»


Привет! Меня зовут Влад Зингер, мне 26 лет, я — бакалавр computer science, работаю в управляющей компании TA QA инженером. Мой проект называется HS Player.

Если лениво читать
— можно посмотреть.



HS player — это мобильное приложение для прослушивания музыки, которое мы с другом Димой разрабатываем с 2013 года. Изначально плеер создавался для чтения файлов в формате .flac и .cue, которые не поддерживают стандартное приложение в iOS.

Со временем появилась поддержка облачных сервисов, которая сильно увеличила привлекательность плеера. Сегодня плеер имеет показатели: 8К+ активных пользователей в месяц (MAU), высокий crash-free ≥99.9%, оптимизированный код, который потребляет мало аппаратных ресурсов и имеет малый размер, продвинутый эквалайзер (по меркам мобильных устройств), отсутствие булшита (то есть рекламы или дотошной перегруженной аналитика за пользователями). Однако самый главный показатель — довольные пользователи, которые пишут нам благодарности и высоко оценивают приложение в App Store.

Что подтолкнуло к созданию проекта


А начиналось всё так: однажды мартовским утром в далёком 2016 году мой друг попросил взглянуть на его пет-проект, чтобы оценить приложение, так как у меня был разнообразный опыт с музыкальными приложениями до этого. В процессе знакомства с плеером я высказал своё видение, предложил улучшить. И вот мы уже больше 4-х лет работаем над этим проектом.

Cам плеер Дима создавал для себя, чтобы у него была возможность слушать музыку в формате .flac и .cue на iOS устройствах с возможностью детального контроля эквализации для устранения недостатков АЧХ-наушников. Само собой, стандартный плеер iOS не предоставляет таких возможностей, даже спустя 6 лет после первого релиза HS Player в AppStore.

Как это работает


Кишки нашего проекта выглядят так:

  1. Аудио часть:
    • CoreAudio — воспроизводит PCM формат, применяет эффект EQ.
    • AudioFileStreaming/URLSession/GCD — используется в связке для потокового воспроизведения.
    • FLACLib — декодирует файлы до PCM-формата, затем PCM отправляется в CoreAudio.
    • Отдельная написанная функция для preamp.
    • TPCircularBuffer — для кольцевого буфера звука.
  2. Медиатека:
    • AVFoundation — чтение метатегов для Apple-формата.
    • FLACLib — чтение метатегов флак-файлов.
    • CoreData — хранение связанной бд (исполнители, альбомы, дорожки, плейлисты).
  3. Clouds:
    • MegaSdk — для работы с мега облаком.
    • YandexLoginSDK — для работы Яндекс.диском.
    • GoogleSignIn/GoogleAPIClientForREST/Drive — для работы с Гугл.диском.
    • FilesProvider (cocoapods) — dropbox, onedrive, pdrive, box.
    • OAuthSwift (cocoapods) — OAuth.
  4. Загрузка файлов на устройство:
    • GCDWebServer(cocoapods).
  5. Загрузка файлов с облаков:
    • OperationQueue — для последовательной загрузки.
    • AHDownloadButton(cocoapods) — кнопка загрузить.
  6. Аналитика:
    • Firebase/Analytics.
    • Firebase/Crashlytics.
  7. Языки:
    • Swift.
    • Objective-C.
    • C.
  8. Архитектура:
    • MVC/MVP.
  9. Зависимости:
    • CocoaPods.

Про сложности, команду и светлое будущее


Технические сложности, с которыми мы столкнулись — это реализация аудио-функций, для которых нет никаких готовых решений для мобильных приложений (например, gapless для mp3). И ещё наш проект полностью бесплатный, все расходы мы оплачиваем из своего кармана, поэтому мы имеем некоторые трудности с арендой сервисов и покупкой новых инструментов для разработки. Однако в ближайшем будущем мы выпустим дополнительные функции с монетизацией.

По факту команда нашего проекта состоит из 2 человек, но также есть лояльные пользователи, которые постоянно пишут нам баг-репорты и фича-реквесты. Бывали случаи, когда юзеры просили нас добавить их в бета-тестеры.

Что касается возможности масштабирования — они большие. Часть наших конкурентов представляют неоправданно дорогие продукты (просто музыкальный плеер за 700$) без альтернатив, поэтому у нас есть хорошие шансы изменить этот рынок. Затрудняюсь ответить, нужна ли нам сейчас помощь инвесторов, но вот помощь опытного дизайнера интерфейсов нам не помешает.

Самое важное


Расскажи, какие бонусы/прибыль бизнесу твой проект уже даёт или может давать в будущем?

На текущий момент сложно представить, какую практическую пользу может принести музыкальный плеер в фудтехе. В голову приходит портирование плеера на ТВ-панели в ресторанах для проигрывания медиаконтента из облачного хранилища, но это, скорее, что-то из области фантастики.

Какие советы или слова поддержки ты можешь дать тем, у кого только-только зарождаются идеи своих проектов?

  • Пытаться сразу реализовать свои идеи, а не ждать лучшего момента.
  • Работать по MVP (minimum viable product) и декомпозировать задачи.
  • Больше общаться с людьми из других сфер.
  • Рассказывать о своём проекте и его обновлениях.


2 место. Проект «Температурный контроль холодильных и морозильных камер»


Привет! Меня зовут Язев Семён, мне 32 года, начинал работу с Додо с управления пиццерией в Москве, а сейчас занимаюсь обслуживанием пиццерий. Мой проект называется «Температурный контроль холодильных и морозильных камер».

Что подтолкнуло к созданию проекта


Однажды утром я пришёл на работу и обнаружил, что блок морозильной камеры выключился, и продукты в морозильной камере начали таять. В тот момент я подумал, что было бы круто узнавать о таких проблемах каким-то автоматизированным способом, сразу в момент возникновения инцидента, а не по факту в пиццерии.

Как это работает


  1. Температурный контроль в холодильных и морозильных камерах.
    • Работает на основе ESP8266&NodeRED&Grafana.
    • Результат: На данный момент контролируется 30 пиццерий.
  2. Автоматический сбор показаний с электросчетчиков.
    • Работает на МеркурийAR230&Elfin-EE11&yaenergetik.ru&NodeRED&Grafana.
    • Результат: на данный момент собираются данные с 20+ пиццерий. Следующим этапом будет организована расшифровка данных и организовано управление потребителями.

Информацию про технические кишки проектов хочу разделить на две части: железо и софт.

Железная часть: в качестве железной части используется esp8266, в качестве контроллера с датчиком температуры — ds18b20 и прошивкой Tasmota.
Софтверная часть: контроллер посылает данные о температуре по протоколу MQTT на брокер Eclipse Mosquitto. Оттуда с помощью NodeRED данные передаются в базу данных InfluxDB.



Далее данные визуализируются в Grafana.



А уведомления о проблемах с температурой отправляются в чат в Telegram.



За время существования проекта я несколько раз менял прошивку, способы визуализации и хранения данных, а также способы оповещений. В принципе трудностей не было, всё получалось эволюционно.

Самое важное


Расскажи, какие бонусы/прибыль бизнесу твой проект уже даёт или может давать в будущем?

Благодаря моему проекту улучшились дисциплина и контроль за холодильным оборудованием. В будущем можно организовать контроль температур не только в холодильных камерах, но и в ресторанах.

Какие советы или слова поддержки ты можешь дать тем, у кого только-только зарождаются идеи своих проектов?

Не бойтесь придумывать и воплощать свои идеи в жизнь.

1 место. Проект «Мониторинг проблем»


Привет! Меня зовут Марат Мигранов, мне 32 года, живу в Санкт-Петербурге и работаю операционным директором в сети СПб-1. Хочу рассказать про мой проект «Мониторинг проблем».

Если лениво читать
— можно посмотреть.



Что подтолкнуло к созданию проекта


На момент создания моего проекта в нашей франчайзинговой сети было уже 4 пиццерии (ред. Додо – это франчайзинговая сеть пиццерий. У каждого из наших партнёров разное количество пиццерий в их сети, в данном случае 4. Во всей сети Додо на момент публикации 611 пиццерий). К нам приходили рекламации от клиентов, а централизованной системы аналитики на всю сеть ещё не было. Мы столкнулись с острой необходимостью — собирать и систематизировать обратную связь от клиентов, чтобы видеть системные проблемы в пиццериях и работать над их решением.

Задачу нужно было решать, и главной сложностью для меня стало то, что раньше я никогда не работал с Google Data Studio, пришлось разбираться с нуля.

Как это работает


Сейчас в продакшене работает уже третья версия «Мониторинга проблем». В основе всего проекта лежит очень простой механизм. Данные из рекламаций и отзывов в приложении Додо Пиццы вносятся в Гугл Таблицу. В Google Data Studio я разработал форму, которая собирает эти данные из таблицы, объединяет по проблемам и пиццериям, считает процент проблем каждой пиццерии и сети в целом, позволяет формировать статистику за период, даёт информацию о динамике. Каждое утро на почту приходит письмо с результатами, также я использую эти данные в ежедневной, еженедельной и ежемесячной рассылке для управляющих.

Как я уже сказал выше, с Google Data Studio я разбирался с нуля. По мере освоения функций платформы я допиливал своё решение.

  1. Первая версия была экспериментальной, я тогда только осваивал Data Studio, поэтому не заморачивался над дизайном и удобством. Главным было, как можно скорее создать MVP, который будет работать и выполнять задачу по систематизации данных.


    Мониторинг 1.0.
  2. Вторая версия появилась по мере освоения платформы. Я заморочился над дизайном и добавил новые возможности (процент проблем по сети в целом, а не только по отдельным пиццериям, топ проблем, пару графиков).


    Мониторинг 2.0.
  3. В третьей версии появились данные о динамике всего и вся, а также ссылки на рекламации с указанием проблемы и номера заказа для удобного быстрого поиска и перехода.


    Мониторинг 3.0.

Сейчас управляющая компания разработала и внедрила свой инструмент аналитики «Статистику проблем». На мой взгляд, она решает многие вопросы, но в ней не хватает анализа данных из приложения и ежедневной аналитики, поэтому отказываться от своего мониторинга я не планирую. Масштабировать на всю сеть (и не только) можно и моё решение. Если есть желающие внедрить его у себя — готов помочь. Финансовых затрат данный проект не требует.

Самое важное


Расскажи, какие бонусы/прибыль бизнесу твой проект уже даёт или может давать в будущем?

Главный бонус – улучшение клиентского опыта за счёт снижения проблемности пиццерий, это в свою очередь ведёт к повышению лояльности клиентов и росту выручки, а также к снижению дисконта на возврат.

Какие советы или слова поддержки ты можешь дать тем, у кого только-только зарождаются идеи своих проектов?

Главное – не откладывать в долгий ящик. Надо брать и делать.



Мы надеемся, что всем гикам мира найдётся место под солнцем! Не забывайте, что все ваши начинания рано или поздно исполнят своё предназначение и продолжайте чудить.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Проголосуйте за лучший проект по версии хабровчан
9.68% Проект «Мониторинг проблем»3
22.58% Проект «Температурный контроль холодильных и морозильных камер»7
29.03% Проект «HS Player»9
32.26% Все проекты хороши, не могу выбрать лучший10
6.45% Все проекты отстой, не могу выбрать лучший2
Проголосовал 31 пользователь. Воздержались 5 пользователей.
Теги:
Хабы:
+13
Комментарии0

Публикации

Информация

Сайт
dodo.dev
Дата регистрации
Дата основания
Численность
201–500 человек
Местоположение
Россия