База знаний Додо ИС. Информационная система пиццерии. Здесь мы рассказываем о том, куда идём с точки зрения архитектуры, развития системы и захвата мира. Сеть пиццерий «Додо Пицца» застраховала от киберрисков свои информационные системы и ресурсы, в том числе, программное обеспечение, корпоративную электронную почту, Web-сайт, «облачный» сервис и базы данных.
Улучшите опыт использования Додо с помощью наших полезных советов
Dashboards DODO / ДОДО ПИЦЦА | Додо is личный кабинет. Палочки с креветками Додо. Додо ис смены. |
Статистика по выручке пиццерий Додо Пицца | Базе знаний Dodo Pizza. Новым CEO Dodo Brands станет бывший франчайзи «Додо Пиццы» в подмосковных Химках Алена Тихова, которая помогала пиццерии выйти на американский рынок. |
Додо ис персонал | Dodo News Hub. Dodo News Hub. Redeem your points for a range of products and services, available on dodo store. |
Додо ис база знаний - фото сборник | Dodo IS — информационная система как ядро франчайзинга. |
Мы обновляем Dodo IS по несколько раз в день: что и как изменилось в системе - YouTube | В Базе знаний хранится вся история Додо! Мы выкладываем туда свежие новости компании, обсуждаем актуальные тренды, храним все стандарты, обучающие статьи и курсы. |
Додо ис касса - фотоподборка
Опыт и анализ отзывов показали, что для федеральной сети пиццерий двух каналов связи не хватает. Нужен был современный и удобный канал, чтобы общаться с клиентами и быстрее отвечать на обращения. Решение В сентябре 2021 года компания edna запустила чат поддержки для «Додо Пиццы», который интегрирован с CRM, оформлен в фирменном стиле компании, имеет несколько языковых версий одного виджета, что актуально для международной компании.
Если в течение дня происходит несколько сотен доставок, отследить такие случаи вручную сложно. Теперь можно сверить отчета по эквайрингу сколько перевели за смену, по конкретному терминалу с информацией, которую указывают курьеры. Упростили учет расходов Сейчас расходы считаются один раз в месяц после инвентаризации.
Проверяют, столько продуктов купили, сколько осталось — а разницу можно указать как расход. Согласовали эту схему с аудиторами и по их рекомендации составили два дополнительных отчета, которые подтверждают корректность списания материалов. Ключевые результаты проекта Организовали работу в отдельном облаке с возможностью делать доработки. В ближайшем будущем начнется работа с еще двумя франчайзи. Доработали загрузку данных под совмещение налоговых режимов — в таком случае из Додо ИС переносятся два отчета по продажам.
Решили еще одну задачу по работе с курьерами — настроили сверку со Сбербанком для контроля доставок. Были случаи, когда недобросовестные курьеры оставляли деньги за доставку себе. Например, клиент заказывал пиццу с оплатой по карте, а потом расплачивался наличными. Курьер не отражал это в программе — там по-прежнему была указана оплата по карте. А наличные курьер забирал себе. Если в течение дня происходит несколько сотен доставок, отследить такие случаи вручную сложно. Теперь можно сверить отчета по эквайрингу сколько перевели за смену, по конкретному терминалу с информацией, которую указывают курьеры. Упростили учет расходов Сейчас расходы считаются один раз в месяц после инвентаризации.
Каждое из устройств делает то же самое только с таблицей устройств, проверяя свою роль и свои доступы. Большое количество запросов в мастер-базу приводит к её загрузке и трате ресурсов общей базы на эти операции. Разгружаем Auth У Auth изолированный домен, то есть данные о пользователях, логинах или устройствах поступают в сервис пока будущий и там остаются. Если они кому-то понадобятся, то он пойдёт в этот сервис за данными. Схема работы изначально была такой: Хочется немного пояснить, как это работало: Запрос извне приходит на бэкэнд там Asp. Net MVC , приносит с собой куку сессии, которая используется для получения сессионных данных из Redis 1. В ней либо есть информация о доступах, и тогда доступ в контроллер открыт 3,4 , либо нет. Если доступа нет, нужно пройти процедуру авторизации. Здесь для упрощения она показана как часть пути в том же атрибуте, хотя это переход на страницу логина. В случае позитивного сценария мы получим правильно заполненную сессию и перейдём в Backoffice Controller. Если данные есть, то нужно проверить их на актуальность в базе пользователя. Не изменилась ли его роль, не надо ли его не пускать теперь на страницу. В этом случае после получения сессии 1 надо напрямую сходить в базу и проверить доступы пользователя с помощью слоя логики аутентификации 2. Далее либо на логин-страницу, либо переход в контроллер. Такая вот простая система, но при этом не совсем стандартная. Если все процедуры пройдены, то пропускаем дальше в логике в контроллерах и методах. Данные пользователей отделены от всех других данных, они хранятся в отдельной таблице membership, функции из слоя логики AuthService вполне могут стать api-методами. Границы домена определены вполне чётко: пользователи, их роли, данные о доступах, выдача и отзыв доступов. Всё выглядит так, что можно вынести в отдельный сервис. Так и сделали: У такого подхода есть ряд проблем. Например, вызов метода внутри процесса — не то же самое, что вызов по http внешнего сервиса. Латенси, надёжность, поддерживаемость, прозрачность операции совершенно другие. Подробнее именно о таких проблемах рассказывал Андрей Моревский в своем докладе »50 оттенков микросервисов». Сервис аутентификации и с ним сервис устройств используются для бэкофиса, то есть для сервисов и интерфейсов, используемых на производстве. Аутентификация для клиентских сервисов вроде сайта или мобильного приложения происходит отдельно без использования Auth. Отделение заняло около года, а сейчас мы опять занимаемся этой темой, переводя систему уже на новые сервисы аутентификации со стандартными протоколами. Почему отделение длилось так долго? По пути было множество проблем, которые замедляли: Нам хотелось перевести данные о пользователях, устройствах и аутентификации из баз по стране в одну. Для этого пришлось переводить все таблицы и использование с идентификатора int на глобальный идентификатор UUId недавно перерабатывали этот код Роман Букин «Uuid — большая история маленькой структуры» и open-source проект Primitives. Хранение данных по пользователям так как это персональная информация имеет свои ограничения и для некоторых стран надо хранить их отдельно. Но глобальный идентификатор пользователя должен быть. Много таблиц в базе имеет аудит информацию о том пользователе, который совершил операцию. Это потребовало дополнительного механизма, чтобы была консистентность. После создания api-сервисов был долгий и постепенный период перевода на другую систему. Переключения должны были происходить бесшовно для пользователей и требовали ручной работы. Схема регистрации устройства в пиццерии: Общая архитектура после выделения Auth и Devices-сервиса: Чем занимается Трекер Теперь про второй из нагруженных сервисов.
Search code, repositories, users, issues, pull requests...
Хотя, возможно, я немного и кривлю душой, ведь статьи разрешено писать всем. Правда, занимаются этим все-таки избранные сотрудники. Очень понравилась система тэгирования — особенно когда мы искали статьи о том, как использовать электросамокаты для доставки пиццы. А полезно то, что делается или нет, — все узнают достаточно быстро, так как обратную связь регулярно дают управляющие пиццериями. Как оказалось, большинство из них — это бывшие пиццамейкеры, которые отлично разбираются в деталях производственного процесса. К слову, для меня это было вторым сюрпризом: что в этой отрасли простой работник «кухни» может относительно быстро вырасти до управляющего пиццерией. Который и после повышения продолжает работать плечом к плечу со всеми. Не мои слова. И конечно, стоит отметить, что база — базой, а простого человеческого общения никто не отменял.
Так, отдельные команды раз в неделю делятся основными результатами своей работы с другими. А раз в году проходит съезд партнеров. И хотя его основная задача, — это дать людям возможность пообщаться, — все мы помним, что основные и самые ценные знания часто передаются именно так. Кстати, в сети есть видео одной из встреч, посвященных пирамиде ценностей Додо. Почти в самом начале ролика Екатерина Игушева рассказывает как раз про то, как устроена база знаний ДоДо. Надеюсь, что этот рассказ вдохновит кого-то из вас на использование такого инструмента управления знаниями, как база знаний, в своей практике. Да, непросто, — такая база требует постоянного внимания, времени сотрудников, которое и есть деньги любой компании. Но результаты… могут быть очень интересными!
Экраны с меню Система через интернет выводит на экраны в пиццерии сезонные предложения и актуальное меню с ценами этой пиццерии. Промоакции «Додо ИС» помогает конструировать промоакции и управлять промокодами в масштабах всей сети или одной пиццерии. Управление курьерами Удобное приложение помогает курьерам выбрать лучший маршрут, не забывать продукты в заказе и вводит в доставку элемент соревнования. Статистика и отчёты «Додо ИС» собирает данные обо всех аспектах работы: от скорости сборки конкретной пиццы до экономической эффективности пиццерии. В системе учтено время, деньги, люди и продукты. Подробнее о «Додо ИС»: новая пиццерия и сотрудники , рабочие будни , всё о заказе , отчёты, экраны, доставка, поставщики Пицца — реалити-шоу Когда гости заказывают пиццу на сайте, они видят процесс приготовления вживую.
За это отвечает «Додо ИС» — она знает, какая пицца сейчас на столе и когда будет готов заказ. Гостям интересно, когда будет готова именно их пицца, сколько времени на неё уходит, успеет ли курьер за 60 минут. Посмотреть как делается ваша пицца Процессы описаны Мы собрали полную базу знаний по всем аспектам работы пиццерии: организации кухни, уборке, заготовке, выпечке, общению с клиентом, управлению персоналом. В базе знаний хранятся все рабочие документы, макеты рекламных материалов. База знаний собрана на закрытом сайте, к которому получают доступ все франчайзи. В ней же создан сайт с электронными стандартами.
Сайт адаптирован для использования на любых устройствах. Дома стажёры смогут учить стандарты с ноутбука, в пиццерии использовать планшет. Если у менеджера есть рабочий смартфон, стандарты будут всегда под рукой. Это не только полный учебник по управлению пиццерией, но и платформа для обмена опытом. Мы смотрим на успехи друг друга, улучшаем системы и совершенствуем стандарты каждую неделю. Честные условия Нам важен успех наших франчайзи.
Для нас франчайзи — это партнёры. Мы хотим привлекать в сеть близких по духу людей, которые разделят наши ценности. Вместе мы хотим построить международную сеть пиццерий, которая станет для всех примером. К сумме выплат добавляется НДС. Мы создали фонд, который формируется из ежемесячных маркетинговых отчислений франчайзи и финансирует федеральную рекламу. Мы лидер рынка и при нашем охвате территории, реклама на федеральных телеканалах — это эффективно.
Бюджет на старт: от 10 млн рублей В бюджет включена аренда, ремонт, закупка оборудования, найм персонала, маркетинговые затраты и закупка ингредиентов для первого месяца работы. Это полная смета, а не только затраты на ремонт. Даём эксклюзив Мы гарантируем доставку за 60 минут или раньше, поэтому пиццерии ориентируются на доставку внутри района или небольшого города. Мы даём эксклюзивные права на город или район в крупном городе: Москве и Санкт-Петербурге. Работаем с проверенными поставщиками Обеспечиваем всех партнёров качественными ингредиентами и удобной логистикой.
Настало время использовать сертификат Код с сертификата нужно ввести в корзине, он зачтется при оплате. Если заказ меньше суммы сертификата, то остаток «сгорит», если больше — нужно будет сделать доплату. Как оформить заказ Укажите в форме данные вашей компании, сумму и количество сертификатов. Например: на 10 000 рублей вы можете оформить десять сертификатов по 1 000 рублей и раздать каждому сотруднику или оформить один сертификат для большого мероприятия.
Хороший менеджер поможет команде стать самоорганизующейся, он её научит как менеджерить саму себя. Это необходимый этап, через который команды должны пройти. Следующий тезис: Scrum, LeSS и другие фреймворки нужны вам, потому что вам нужна гибкость. У вас полная неопределённость, запутанный домен, ничего не понятно, бэклог каждый день меняется.
Действительно ли у вас такая высокая неопределённость? Если да — вы получите все преимущества от Scrum и кросс-функциональных команд и от гибкости. Но если нет, то вы можете получать преимущества от других вещей: от предсказуемости, от фокуса, от специализации. Мы поняли, что мы ни в одной из крайностей и не посередине, а где-то ближе к определенности.
Например, мы выпускаем кассу доставки и знаем, что не откажемся от концепции доставки и не поменяем полностью бизнес-модель, и бэклог не перестроится. Следующий тезис, который тоже часто используют коучи: команда должна делать всё. У команды есть все компетенции, она умеет делать Customer Development, разрабатывает, тестирует, потом выкладывает в продакшн, осуществляет поддержку пользователей. Хорошо, если она при этом еще бизнес-метрики соберёт, на фидбэк отреагирует.
Но у нас опять-таки не так. Наш продукт очень сложный. На некоторые гипотезы точно одного спринта не хватит, нужно месяцы работы, чтобы просто погрузиться в домен. Поэтому мы пришли к модели, когда команды у нас кросс-доменные, а продакт-менеджеры узкоспециализированные.
И, как правило, это люди, которые сами в пиццерии работали или очень много времени проводят в нашей рознице для того, чтобы понимать эту экспертизу и формулировать глубокие и прорывные идеи и гипотезы. Следующий тезис — Collective code ownership, то есть код в продукте принадлежит всем командам, и они в нём ориентируются. Есть Feature Adoption Map, когда мы должны стремиться вот туда в правый верхний угол, где команды знают всё про продукт и умеют его полностью поддерживать. И наши команды начали на это настраиваться с самого начала.
И поняли, что Collective code ownership — это хорошо и правильно, и надо туда идти, но это нужно делать постепенно. Если попытаться это сделать сразу, то вы попадёте в no ownership: все могут менять весь код, но никто им не владеет, никто не понимает как он должен развиваться, никто не следит за его чистотой. При этом у компонентов кода есть component owner, который будет думать, как ему развивать и рефакторить его. Другие команды могут помогать, вливать код в тот же компонент, перед этим пообщавшись с этим component owner.
Ещё один тезис — выделенные команды для чего-либо. Мы такие команды обычно не создаём, потому что собираем всю экспертизу в одном месте. Вот пример из команды QA.
Улучшите опыт использования Додо с помощью наших полезных советов
У Додо есть собственные программные разработки Додо ИС. Базе знаний Dodo Pizza. Новым CEO Dodo Brands станет бывший франчайзи «Додо Пиццы» в подмосковных Химках Алена Тихова, которая помогала пиццерии выйти на американский рынок. Сеть пиццерий «Додо пицца» застраховала от киберрисков свои информационные системы и ресурсы, в том числе, программное обеспечение, корпоративную электронную почту, Web-сайт, «облачный» сервис и базы данных. Додо is личный кабинет. Палочки с креветками Додо. Додо ис смены. Информационная система Dodo IS состоит из 44 различных сервисов, таких как Трекер, Кассы ресторана или Базы знаний и многих других. Новая главная страница «Базы знаний» Додо. Задача Заложить фундамент, чтобы в будущем система смогла удовлетворить разнородные потребности франчайзи и Додо: 1) новым франчайзи дать простые инструкции по запуску пиццерий; 2) опытным предложить секреты.
Не только тесто и начинка: как автоматизация сделала «Додо Пиццу» успешной
Практическое занятие в учебном центре 15 франчайзи Да, придётся пахать Мы не верим, что бизнес может развиваться без участия предпринимателя. Если вы надеетесь вложить деньги и больше никогда не появляться на кухне — эта франшиза не для вас. У нас франчайзи следят за показателями, лично проверяют кухню, общаются с клиентами и держат руку на пульсе. Халявы не будет. Ищем единомышленников, а не капитал Мы зарабатываем не на вступительном взносе, а на успехе наших партнёров.
Поэтому мы ищем не людей с деньгами, а тех, с кем мы сможем построить успешный масштабируемый бизнес. Нам важно, чтобы вы были нашим человеком и разделяли наши принципы: Клиенты — смысл нашей работы Мы делаем всё ради клиентов, верим нашим гостям, позитивно реагируем на критику и всегда готовы исправлять ошибки. Люди — главный актив Основа нашего бизнеса — не деньги, недвижимость или технологии. Секрет нашего успеха — люди.
Открытость Мы уверены, открытость делает нас лучше. Мы всегда смотрим правде в глаза. Мы открыты перед сотрудниками, клиентами и партнерами. Стремление к совершенству Мы уверены, что всё можно сделать лучше, чем до сих пор.
Работаем открыто Со дня основания мы ведём открытый бизнес. Создатель сети Фёдор Овчинников рассказывает обо всём, что происходит в сети: показывает запуск пиццерий, публикует финансовую и управленческую отчётность, рассказывает о планах и внутренней кухне компании. Со стороны некоторым кажется, что открытость — это причуда. Никто так не делает — и ничего, живут и работают.
И действительно, бизнес может работать, не будучи открытым и не раскрывая своих финансовых результатов. Зачем тогда это делать? Открытость — главный драйвер нашего развития. Мы публикуем для франчайзи всю информацию о работе сети.
Наши франчайзи знают, сколько зарабатывают другие пиццерии и за счёт чего: какая у них производительность труда, как они следят за качеством, как рекламируются и привлекают людей. Мы поощряем обмен знаниями внутри сети. Мы публикуем финансовую отчётность о работе сети и отдельных пиццерий. Инвесторы и партнёры видят наш бизнес в цифрах.
Мы показываем клиентам нашу кухню, буквально и метафорически: водим экскурсии, рассказываем об открытии новых пиццерий и новых продуктах, стандартах качества, контроле, трудностях и успехах. Благодаря систематической работе с клиентами мы формируем сообщество лояльных и заинтересованных клиентов. Открытость — это стимул работать хорошо. Всё, что мы делаем, мы делаем исходя из того, что нас рассматривают под микроскопом.
Хотим протестировать гипотезу, каким чек-листом удобнее пользоваться — электронным или бумажным. Следующий кейс — с помощью Chatforma и Zapier интегрируем почту и чат-бота. Когда на сайте «Работа в Додо» разместят новую анкету, будут приходить уведомления в телеграм-бот. Программисты сделают уведомления на почту, а мы с помощью зерокодинга сможем перенаправить их в чат-бота без дорогой команды разработчиков. Один продакт с помощью Chatforma и Zapier может заменить двух разработчиков и быстро тестировать гипотезы». Чтобы научиться зерокодить на Glide и предлагать решения большим бизнесам быстрее и дешевле классических разработчиков, но все еще за внушительные гонорары, приходите на курс «Зерокодер мобильных приложений».
Мы предлагаем вам различные полезные советы и рекомендации, которые помогут вам максимально эффективно использовать эту базу знаний. Улучшите свой опыт работы с Додо и получите максимум пользы и результативности! Используйте поиск для нахождения нужной информации. Задавайте точные запросы, чтобы получить наиболее релевантные результаты. Поддержка клиентов, развитие Базы знаний и Digital design. Где спроектировать визуальную схему базы данных онлайн, конструктор баз данных с удобным интерфейсом Постоянно обновляйте свои знания, ищите новые статьи и обучающие материалы, которые помогут вам освоить новые навыки и поднять свой уровень.
Detailed production monitoring with Prometheus, visualization with Grafana, and log collection by Azure Data Explorer. Technology radars.
Финансово-экономическая модель
- Додо Пицца — Википедия
- Материал «Додо Пицца» застраховалась от киберпреступников, портал ПЛАС
- Как сотрудники получают пиццу
- Dodo Pizza · GitHub
- Условия покупки франшизы «Додо пиццы»
Как насчет бесплатной пиццы?
Новая главная страница «Базы знаний» Додо. Задача Заложить фундамент, чтобы в будущем система смогла удовлетворить разнородные потребности франчайзи и Додо: 1) новым франчайзи дать простые инструкции по запуску пиццерий; 2) опытным предложить секреты. Стандарты Додо пицца. База знаний додо. Личный кабинет сотрудника. В Базе знаний хранится вся история Додо! Мы выкладываем туда свежие новости компании, обсуждаем актуальные тренды, храним все стандарты, обучающие статьи и курсы.
«Додо Пицца» застраховалась от киберпреступников
Новая главная страница «Базы знаний» Додо. Задача Заложить фундамент, чтобы в будущем система смогла удовлетворить разнородные потребности франчайзи и Додо: 1) новым франчайзи дать простые инструкции по запуску пиццерий; 2) опытным предложить секреты. База знаний Додо. В Базе хранится вся наша история! Мы выкладываем туда свежие новости компании, обсуждаем актуальные тренды, храним все стандарты, обучающие статьи и курсы. Покупая франшизу «Додо пиццы», франчайзи получает доступ на закрытый сайт с базой знаний по ведению данного вида бизнеса: организация работы кухни, управление персоналом, макеты рекламы, образцы рабочих документов.
Яндекс Образование
10 главных преимуществ франшизы «Додо Пицца» | Как Додо Пицца прошла путь от Scrum до LeSS Huge и осознанно отступала от правил этих фреймворков и Agile-методологии. |
Платформа Додо Академия | Dodo Pizza часто называет себя ИТ-компанией. Дмитрий Павлов, директор по продукту Dodo IS, рассказывает подробности об устройстве системы и делится несколькими кейсами, когда все пошло не так. |
Dodo IS: как технологии делают людям вкусно | Базе знаний Dodo Pizza. |
Just Dodo is: «Додо пицца» попробует себя в других форматах
По мере открытия Додо Пиццы в новых странах мы сделали его мультиязычным: не нужно каждый раз скачивать новое приложение, можно просто выбрать нужную страну и язык в настройках. Для перевода на другие языки мы разработали и используем собственную систему «Лингвини». Приложения: В любом мобильном приложении Додо Пиццы клиент может указать адрес доставки выбрать на карте или через строку поиска или выбрать удобную пиццерию для заказа в зале, увидеть актуальное меню, указать время доставки, оплатить заказ удобным способом, написать в чат с поддержкой и оставить отзыв о заказе, отслеживать статус приготовления и доставки. В случае, если курьер задерживается и не приезжает вовремя, клиент увидит соответствующее уведомление в приложении и получит сертификат на бесплатную пиццу при следующем заказе. На текущий момент в мобильном приложении Додо Пиццы можно разместить заказ в более чем 900 пиццериях в 17 странах. Решение: Разработали дизайн приложения и само мобильное приложение под iOS и Android. Повысили привлекательность приложения уникальным функционалом: сбор комбо в корзине, донер-встряска, программа лояльности с донер-коинами. Мобильные приложения написаны и поддерживаются на Swift и Kotlin Подробнее Приложение Донер 42 Задача: Создать мобильное приложение для заказа в сети донерных Донер 42, разработать для этого интерфейс, отличный от интерфейса приложения Додо Пиццы и привлекающий клиентов с целью развития нового стартапа. Мобильные приложения написаны и поддерживаются на Swift и Kotlin Административная часть: Мы адаптировали функциональность Додо ИС для реалий донерного бизнеса: в нем на то, чтобы отдать заказ, есть гораздо меньше времени, и все процессы из-за отсутствия например выпекания заказа происходят быстрее.
В трекер заказов были добавлены новые этапы и убраны лишние. Была добавлена возможность подключения доставки через агрегаторы, а не только собственными курьерами, также впервые в истории нашей работы с Додо Брэндс. Была разработана функциональность для добавления Историй в мобильное приложение Донер 42, рассказывающих об обновлениях. Мобильные приложения: В мобильном приложении вне зависимости от операционной системы, и на iOS, и на Android, клиент может собрать заказ, добавить дополнительные ингридиенты в блюда, узнать о пищевой ценности продуктов, узнать время до готовности заказа, оставить отзыв. Также можно включить темную тему в приложении для комфортного заказа в темное время суток или в условиях слабой освещенности. В приложении реализованы Истории, рассказывающие в формате слайд-шоу о возможностях приложения или новых продуктах в меню. Также был разработан функционал донер-встряски: если потрясти приложение, автоматически сформируется предложенное комбо из продуктов, которое позволяет клиенту попробовать что-то новое, не задумываясь о выборе. И наконец мы разработали отдельную систему лояльность с донер-коинами, получаемыми с каждого заказа, за которые можно покупать продукты в будущих заказах.
В частности, сформулировал для себя основные плюсы открытия пиццерии по франшизе «Додо Пицца». Стандарты и рецепты Очень классно, что этим занимается управляющая компания. База знаний и чек-листы Всем франчайзи «Додо Пиццы» предоставляется доступ к базе знаний. Это сайт с тысячами статей на различные темы, касающиеся как открытия, так и функционирования пиццерии. Например, как искать помещение для пиццерии, как должен выглядеть и что говорить вау-кассир, как правильно вести социальные сети и т. Кроме того, проработано множество чек-листов буквально на любой случай: приём и передача смены, ведение кассы, контроль чистоты и генеральная уборка, обслуживание детской комнаты, планирование запасов, нормы нагрева теста и т. Цитирую: «В сердце нашего бизнеса — информационная система Dodo IS». В общем-то, все процессы в пиццерии так или иначе завязаны на информационную систему.
Они использовались для вывода оперативных интерфейсов на кухне, аналитики. Еще к ним обращался сайт dodopizza.
Данные не были агрегированными и много расчетов происходило на лету средствами базы. Это создавало лишние вычисления и дополнительную нагрузку. Часто код ходил в базу тогда, когда мог этого не делать. Где-то не хватало bulk-операций, где-то надо было бы разнести один запрос на несколько через код, чтобы ускорить и повысить надежность. Связность и запутанность в коде Модули, которые должны были отвечать за свой участок бизнеса, не делали этого честно. Некоторые из них имели дублирование по функциям для ролей. Например, локальному маркетологу, который отвечает за маркетинговую активность сети в своем городе, приходилось пользоваться как интерфейсом «Админа» для заведения акций , так и интерфейсом «Менеджера Офиса» для просмотра влияния акций на бизнес. Конечно, внутри оба модуля использовали один сервис, который работал с с бонусными акциями. Сервисы классы в рамках одного монолитного большого проекта могли вызывать друг друга для обогащения своих данных. С самими классами-моделей, которые хранят данные, работа в коде велась различно.
Где-то были конструкторы, через которые можно было указать обязательные поля. Где-то это делалось через публичные свойства. Конечно, получение и преобразование данных из базы было разнообразным. Логика была либо в контроллерах, либо в классах сервисов. Это вроде незначительные проблемы, но они сильно замедляли разработку и снижали качество, что приводило к нестабильности и ошибкам. Сложность большой разработки Трудности возникли и в самой разработке. Нужно было делать разные блоки системы, причем параллельно. Вместить нужды каждого компонента в единый код становилось все труднее. Было не просто договориться и угодить всем компонентам одновременно. К этому добавлялись ограничения в технологиях, особенно касаемо базы и фронтэнда.
Нужно было отказываться от JQuery в сторону высокоуровневых фреймворков, особенно в части клиентских сервисов сайт. В каких-то частях системы могли бы использоваться базы, более подходящие для этого. Например, позднее у нас был прецедент перехода с Redis на CosmosDB для хранения корзины заказа. Команды и разработчики, занимающиеся своей областью явно хотели большей самостоятельности для своих сервисов, как в части разработки, так и в части выкатки. Конфликты при мерже, проблемы при релизах. Если для 5 разработчиков эта проблема несущественна, то при 10, а уж тем более при планируемом росте, все стало бы серьёзнее. А а впереди должна была быть разработка мобильного приложения она стартанула в 2017, а в 2018 было большое падение. Разные части системы требовали разных показателей стабильности, но в силу сильной связности системы, мы не могли этого обеспечить. Ошибка при разработке новой функции в админке, вполне могла выстрелить в приеме заказа на сайте, ведь код общий и переиспользуемый, база и данные тоже едины. Вероятно, можно было бы и в рамках такой монолитно-модульной архитектуры не допускать этих ошибок и проблем: сделать разделение ответственности, проводить рефакторинг как кода, так и базы данных, чётко отделять слои друг от друга, следить за качеством каждый день.
Но выбранные архитектурные решения и фокус на быстром расширении функционала системы привели к проблемам в вопросах стабильности. Как блог Сила ума положил кассы в ресторанах Если рост сети пиццерий и нагрузки продолжался бы в том же темпе, то через некоторое время падения были бы уже такими, что система и не поднимется. Хорошо иллюстрирует проблемы, с которыми мы начали сталкиваться к 2015 году вот такая история. В блоге « Сила ума » был виджет, который показывал данные по выручке за год всей сети. Виджет обращался к публичному API Dodo, которое предоставляет эти данные. Виджет показывался на каждой странице и делал запросы по таймеру каждые 20 секунд. Запрос уходил в api. Запрос на статистику по выручке шел сразу в базу и начинал запрашивать данные по заказам, агрегировать данные прямо на лету и выдавать сумму. В эту же таблицу заказов ходили Кассы в ресторанах, выгружали список принятых за сегодня заказов, в неё же добавлялись новые заказы. Кассы делали свои запросы каждые 5 секунд или по обновлению страницы.
Схема выглядела так: Однажды осенью, Федор Овчинников написал в свой блог длинную и популярную статью. На блог пришло очень много людей и стали внимательно всё читать. Пока каждый из пришедших человек читал статью, виджет с выручкой исправно работал и запрашивал API каждые 20 секунд. API вызывало хранимую процедуру на расчет суммы всех заказов с начала года по всем пиццериям сети. Агрегация шла по таблице orders, которая очень популярна. В неё же ходят все кассы всех открытых ресторанов на тот момент. Кассы перестали отвечать, заказы не принимались. Ещё они не принимались с сайта, не появлялись на трекере, менеджер смены не мог увидеть их в своем интерфейсе. Это не единственная история.
Функциональность приложения полностью повторяет функциональность веб-версии. Пользователи могут смотреть курсы и проходить тесты, в том числе и при отсутствии интернет-связи. Обучение администраторов Обучить более 20 администраторов платформы помогла база знаний Эквио, благодаря которой компании не пришлось проводить занятия с нуля. Информация в базе знаний подаётся в виде двухминутных роликов, каждый из которых содержит ответ на определённый вопрос. Дополнительно с администраторами провели часовые онлайн-встречи, показали платформу, правила создания и оформления статей, выбор тегов. Специалисты Додо Пиццы написали статью про базу знаний и запустили курс по созданию интерактивных элементов. Все оставшиеся после обучения вопросы можно задавать в чате поддержки Эквио. Перенос материалов Платформа Эквио позволяет перенести обучающий контент самостоятельно или с помощью сотрудников платформы. Додо Пицца подключила к этой задаче разные команды сотрудников. Одновременно продумали иерархию курсов, распределили их по категориям и добавили теги. Благодаря этому пользователи могут проще ориентироваться в образовательных материалах Додо Академии. Также компания регулярно обновляет платформу, добавляя на неё корпоративные новости. Наши рекомендации: Добавление пользователей Компания добавила пользователей на платформу согласно действующей иерархии. В каждой команде назначили руководителя, который может просматривать общую статистику. Доступ к обучающему контенту разграничили по группам. При добавлении нового пользователя его сразу добавляют в группу, чтобы для него автоматически открылись нужные курсы. Также новичок получает доступ к приветственному видео с рассказом о возможностях платформы. Это позволяет экономить время и обеспечивать всех сотрудников обучающими материалами. Администрирование платформы На платформе 20 администраторов, но в их обязанности входит не только работа с Эквио. Все сотрудники параллельно ведут другие проекты. Для нас это удобнее, чем назначить несколько специалистов, которые будут заниматься только платформой. Каждый администратор тратит лишь небольшую часть рабочего дня на работу с сервисом.
Платформа Додо Академия
Сеть стала первой, кто вышел сразу на 2 продуктовых рынка — доставку Dark Kitchen и локальные пиццерии Local Kitchen. Потребность этого рынка в IT-решениях очень высока, так как требует организации множества внутренних процессов. Известность сети принесла ее открытость и прозрачность в приготовлении пиццы. Кроме того, у «Додо» автоматизировано всё: от кухни до документооборота.
Графики работы сотрудников, информация о сотрудниках. Табло Мотивации Кухни. Отдельный экран, который висит на кухне и отображает скорость работы пиццамейкеров. Отправка sms и email. Собственный сервис для приёма и выдачи статических файлов. Первые попытки решить проблемы помогли нам, но стали лишь временной передышкой. Они не стали системными решениями, поэтому было ясно, что с базами надо что-то сделать.
Например, разделить общую базу на несколько более специализированных. Начинаем разгружать монолит: отделение Auth и Трекера Основные сервисы, которые тогда больше других записывали и считывали из базы: Auth. Чем занимается Auth Auth — это сервис, через который пользователи логинятся в бэкофис на клиентской части отдельный независимый вход. Также к нему обращаются в запросе, чтобы удостовериться, что есть нужные права на доступ, и что эти права не изменились с последнего входа. Через него же происходит вход устройств в пиццерии. Например, нам хочется открыть на телевизоре, висящем в зале, табло со статусами готовых заказов. Тогда мы открываем auth. Телевизор сам перейдёт на нужный интерфейс своей пиццерии и начнёт отображать там имена клиентов, заказы которых готовы. Откуда нагрузки? Каждый залогиненный пользователь бэкофиса на каждый запрос ходит в базу, в таблицу пользователей, через sql-запрос вытаскивает оттуда пользователя и проверяет, есть ли у него нужные доступы и права на эту страницу.
Каждое из устройств делает то же самое только с таблицей устройств, проверяя свою роль и свои доступы. Большое количество запросов в мастер-базу приводит к её загрузке и трате ресурсов общей базы на эти операции. Разгружаем Auth У Auth изолированный домен, то есть данные о пользователях, логинах или устройствах поступают в сервис пока будущий и там остаются. Если они кому-то понадобятся, то он пойдёт в этот сервис за данными. Схема работы изначально была такой: Хочется немного пояснить, как это работало: Запрос извне приходит на бэкэнд там Asp. Net MVC , приносит с собой куку сессии, которая используется для получения сессионных данных из Redis 1. В ней либо есть информация о доступах, и тогда доступ в контроллер открыт 3,4 , либо нет. Если доступа нет, нужно пройти процедуру авторизации. Здесь для упрощения она показана как часть пути в том же атрибуте, хотя это переход на страницу логина. В случае позитивного сценария мы получим правильно заполненную сессию и перейдём в Backoffice Controller.
Если данные есть, то нужно проверить их на актуальность в базе пользователя. Не изменилась ли его роль, не надо ли его не пускать теперь на страницу. В этом случае после получения сессии 1 надо напрямую сходить в базу и проверить доступы пользователя с помощью слоя логики аутентификации 2. Далее либо на логин-страницу, либо переход в контроллер. Такая вот простая система, но при этом не совсем стандартная. Если все процедуры пройдены, то пропускаем дальше в логике в контроллерах и методах. Данные пользователей отделены от всех других данных, они хранятся в отдельной таблице membership, функции из слоя логики AuthService вполне могут стать api-методами. Границы домена определены вполне чётко: пользователи, их роли, данные о доступах, выдача и отзыв доступов. Всё выглядит так, что можно вынести в отдельный сервис.
По пути было множество проблем, которые замедляли: Нам хотелось перевести данные о пользователях, устройствах и аутентификации из баз по стране в одну. Для этого пришлось переводить все таблицы и использование с идентификатора int на глобальный идентификатор UUId недавно перерабатывали этот код Роман Букин «Uuid — большая история маленькой структуры» и open-source проект Primitives. Хранение данных по пользователям так как это персональная информация имеет свои ограничения и для некоторых стран надо хранить их отдельно. Но глобальный идентификатор пользователя должен быть. Много таблиц в базе имеет аудит информацию о том пользователе, который совершил операцию. Это потребовало дополнительного механизма, чтобы была консистентность. После создания api-сервисов был долгий и постепенный период перевода на другую систему. Переключения должны были происходить бесшовно для пользователей и требовали ручной работы. Схема регистрации устройства в пиццерии: Общая архитектура после выделения Auth и Devices-сервиса: Чем занимается Трекер Теперь про второй из нагруженных сервисов. Трекер выполняет двойственную роль: С одной стороны, его задача — показывать сотрудникам на кухне, какие заказы сейчас в работе, какие продукты сейчас нужно готовить. С другой стороны — оцифровывать все процессы на кухне. Когда в заказе появляется новый продукт например, пицца , он попадает на станцию трекера «Раскатка». На этой станции стоит пиццамейкер, который берёт плюшку нужного размера и раскатывает её, после чего отмечает на планшете трекера, что выполнил свою задачу и передаёт раскатанную основу теста на следующую станцию — «Начинение». Там следующий пиццамейкер начинает пиццу, затем отмечает на планшете, что выполнил свою задачу и ставит пиццу в печь это тоже отдельная станция, которую нужно отметить на планшете. Такая система была с самого начала в Додо и самого начала существования Dodo IS. Она позволяет полностью отслеживать и оцифровывать все операции. Кроме того трекер подсказывает, как готовить тот или иной продукт, проводит каждый вид продукта по своим схемам изготовления, хранит оптимальное время приготовления продукта и трекает все операции над продуктом. Так выглядит экран планшета на станции трекера «Раскатка» Откуда нагрузки? В каждой из пиццерий примерно по пять планшетов с трекером. В 2016 году у нас было больше 100 пиццерий а сейчас более 600. Каждый из планшетов делает раз в 10 секунд запрос на бэкэнд и выгребает данные из таблицы заказа связка с клиентом и адресом , состава заказа связка с продуктом и указание количества , таблицы учёта мотивации в ней трекается время нажатия. Когда пиццамейкер нажимает на продукт на трекере, происходит обновление записей во всех этих таблицах. Таблица заказа общая, в неё же одновременно идут вставки при принятии заказа, обновления от других частей системы и многочисленные считывания, например, на телевизоре, который висит в пиццерии и показывает готовые заказы клиентам. В период борьбы с нагрузками, когда всё и вся кэшировалось и переводилось на асинхронную реплику базы, эти операции с трекером продолжили ходить в мастер-базу. Тут не должно быть никакого отставания, данные должны быть актуальными, рассинхрон недопустим. Также отсутствие собственных таблиц и индексов на них не позволяло написать более специфичные запросы, заточенные под своё использование. Для примера, трекеру может быть эффективно иметь индекс на пиццерию на таблице заказов. Мы всегда выгребаем из базы трекера заказы по пиццерии. При этом для приёма заказа не так важно, в какую пиццерию он падает, важнее, какой клиент сделал этот заказ. А значит там нужен индекс по клиенту. Ещё для трекера в таблице заказа не обязательно хранить id напечатанного чека или связанные с заказом бонусные акции. Эта информация наш сервис трекера не интересует. В общей монолитной базе таблицы могли быть только компромиссным вариантом между всеми пользователями. Это было одной из изначальных проблем. Изначально архитектура была такая: Даже после выделения в отдельные процессы большая часть кодовой базы оставалась общей для разных сервисов. Всё, что ниже контроллеров, было единым и жило в одном репозитории.
Как настраивается работа с Телеграмом? Мы создаём для клиента чат-бота в Телеграм, в программах «1С» в его информационных базах прописываем все необходимые ключи. Это позволяет наладить взаимосвязь между конфигурацией «1С» и приложением Телеграм. Далее настраиваем отправку сообщений, виды отчётов и расписание для отправки. Сотрудники, которые будут получать сообщения, присылают нам имя пользователя в Телеграме для подключения и авторизации. Как посмотреть имя пользователя? Чтобы посмотреть своё имя в Телеграме, переходим в Настройки — Изменить профиль — Имя пользователя. Именно это имя без значка в начале и есть ваше имя в Телеграме. Далее пользователю наш специалист присылает имя чат-бота, которого нужно найти в Телеграм для подтверждения связи рассылки. Для этого в поле Поиск вводим имя бота, в нашем случае — DodopizzaBot. Когда бот появится в результатах поиска, его нужно открыть и внизу нажать кнопку Запустить. В случае успешной авторизации придет сообщение — Подтверждение обработано.
Улучшите опыт использования Додо с помощью наших полезных советов
Здесь мы рассказываем о том, куда идём с точки зрения архитектуры, развития системы и захвата мира. Главная» Новости» Додо новости. Основа франшизы «Додо Пиццы» — облачная ERP-система «Додо ИС» (Dodo IS), которая организует рабочие процессы пиццерии, включая обработку заказов, работу кухни, доставку, управление штатом и маркетинг[24]. Сеть пиццерий «Додо пицца» застраховала от киберрисков свои информационные системы и ресурсы, в том числе, программное обеспечение, корпоративную электронную почту, Web-сайт, «облачный» сервис и базы данных.
Почему выбрал именно этот бизнес
- История архитектуры Dodo IS: ранний монолит / Хабр
- «Простые решения» настроили интеграцию с 1С для франчайзи Додо - Простые решения
- Додо ис база знаний - 84 фото
- Автоматизируем бизнес по-крупному: создаём свой «цифровой мозг»
Just Dodo is: «Додо пицца» попробует себя в других форматах
Как Додо Пицца прошла путь от Scrum до LeSS Huge и осознанно отступала от правил этих фреймворков и Agile-методологии. Dodo Pizza часто называет себя ИТ-компанией. Дмитрий Павлов, директор по продукту Dodo IS, рассказывает подробности об устройстве системы и делится несколькими кейсами, когда все пошло не так. На рассмотрении Разбивка по NPS базы клиентов по пиццериям для более детальной работы по клиентской базе. Dodo News Hub. Dodo News Hub. Redeem your points for a range of products and services, available on dodo store. Информационная система Додо.
База знаний Додо 🔥. А вы знали, что у нас есть сайт, который называется База знаний?
История архитектуры Dodo IS: ранний монолит / Хабр | База знаний Додо. В Базе хранится вся наша история! Мы выкладываем туда свежие новости компании, обсуждаем актуальные тренды, храним все стандарты, обучающие статьи и курсы. |
ВТИ-Сервис - эксперт автоматизации | Сейчас у нас уже есть база знаний, в которой доступны статьи, рассказывающие о возможных проблемах, способах их решения и нестандартных сценариях работы. Какая техническая база стоит за системой Додо IS? |
История архитектуры Dodo IS: ранний монолит / Хабр | Инспекторы пиццерии — это наша агентская сеть, которая помогает находить нарушения в пиццериях Додо Пиццы. |