Серия статей «Что такое Dodo IS?» расскажет про: Ранний монолит в Dodo IS (2011-2015 годы).
Додо пицца застраховалась от киберпреступников
Как войти в личный кабинет Dodo IS | Главная» Новости» Новости додо пицца. |
Статистика пиццерий Додо Пицца | Работники пиццерии вносили данные в «Додо ИС», это собственная информационная система Dodo Brands. |
Додо ис персонал | компьютера, планшета, телефона - и не требовала сложной настройки. |
Не только тесто и начинка: как автоматизация сделала «Додо Пиццу» успешной
Промоакции «Додо ИС» помогает конструировать промоакции и управлять промокодами в масштабах всей сети или одной пиццерии. У Dodo IS произошёл каскадный сбой и мы долго не могли реанимировать систему. Как будет работать ревизия в Dodo IS, смотрите в этом «живом» видео. Тайная проверка Додо. Менеджер Додо обязанности.
Франшиза «Додо Пиццы»: сильный продукт, передовые технологии и честные условия
Пандемия не изменила вкусы людей, но изменила привычки: люди привыкли планировать бюджет, заказывать обед или ужин на дом, и эта культура только развивается, что говорит о потенциале. Эксперты прогнозируют сохранение спроса на доставку, поэтому ее развитие может стать перспективным направлением роста ресторанного бизнеса. Усиливайте штат курьеров. Помимо тех сотрудников, которые уже набраны, сейчас актуально расширение штата курьеров. Для того чтобы это происходило эффективно, стоит разработать программу отбора, подготовки, мотивации новых специалистов. Как отбирать курьеров? Каких-то сложных требований нет. Кандидаты должны изучить стандарты, пройти онлайн-тест или собеседование. И все — можно в бой. Предложите клиентам выгоду.
Важно проанализировать предпочтения и сохранить выгоду для них. Например, у нас есть возможность заказать комбо-наборы — это пицца, закуски и напитки одним пакетом, при этом клиент может изменять их состав, а стоимость остается неизменной. И мы видим увеличение спроса на эти предложения. Читайте также.
Окончил Сыктывкарский госуниверситет по специальности «археолог». В 2006 году открыл в Сыктывкаре книжный магазин «Сила ума», но в 2010 году продал свою долю в бизнесе и уехал в Санкт-Петербург, где работал в разных ресторанах и сетях фаст-фуда. В 2011 году открыл в Сыктывкаре пиццерию «Додо Пицца». Сейчас сеть работает в 10 странах, открыто 286 пиццерий.
Каждый из этих проектов потребовал значительных изменений системы — на них и были брошены основные силы. Несмотря на это, мы не прекращали совершенствовать и другие элементы «Додо ИС». Учет пятидневного теста Теперь «Додо ИС» умеет вести учет теста — полезная функция для тех пиццерий, которые делают тесто сами, а не снабжаются из центров производства теста. Система помогает отслеживать запасы муки и других ингредиентов и рассчитывать себестоимость основы для пиццы. Функция уже работает для рецепта теста пятидневной выдержки — именно его обычно используют пиццерии, которые делают тесто сами. В следующем году мы добавим и «восьмидневное» тесто. Акция для городов Мы научили конструктор акций ограничивать действия скидок и промо предложений одним или несколькими городами. Раньше маркетологи, отвечающие за национальный маркетинг, могли создавать только акции, действующие по всей стране.
MeasurementId, e. Если такого нет — добавляется новый замер. Если есть — нужны дополнительные проверки: нельзя редактировать удаленный замер; входящая версия должна быть больше предыдущей. Если условия выполняются — можем установить новое значение и новую версию для существующего замера. Если версия меньше, то это конфликт. Для этого мы генерируем исключение MeasurementConcurrencyException. Если версия совпадает и значения отличаются, то это тоже конфликтная ситуация. Ну и если совпадает как версия, так и значение, то изменений не произошло. Таких ситуаций обычно не возникает. Сущность «замер» содержит точно такие же поля, что и команда «Добавление замера». NewUUId ; inventory. StartInventory Create. WithUnitId unitId. WithMeasurement measurementId, measurementVersion. WithValue value. Please ; inventory. AddMeasurement cmd ; inventory. На схеме изображен процесс обработки команды FinishInventoryCommand. Перед обработкой необходимо восстановить состояние агрегата Inventory на момент выполнения команды. Для этого мы загружаем все события, которые были произведены над данным агрегатом, в память и проигрываем их п. На момент завершения ревизии у нас уже есть следующие события — начало ревизии и добавление трех замеров. В базе данных каждая строка в таблице содержит идентификатор ревизии, версию и тело самого события. На этом этапе мы выполняем команду FinishInventoryCommand п. Эта команда сначала проверит валидность текущего состояния агрегата — то, что ревизия находится в состоянии InProgress, а затем породит новое изменение состояния, добавив событие FinishInventoryEvent в список changes п. Когда команда завершится, все изменения сохранятся в базу данных. В результате в базе появится новая строка с событием FinishInventoryEvent и последней версией агрегата п. Тип Inventory ревизия — агрегат и корневой элемент по отношению к своим вложенным сущностям. Таким образом, тип Inventory определяет границы агрегата. В границы агрегата входит список сущностей типа Measurement замер , и список всех событий, произведенных над агрегатом changes. Реализация всей фичи Под фичей мы понимаем реализацию конкретного бизнес-требования. В нашем примере мы рассмотрим фичу «Добавление замера». Для реализации фичи нам понадобится разобраться с понятием «прикладная служба» ApplicationService. Прикладная служба — непосредственный клиент модели предметной области. Прикладные службы гарантируют транзакции при использовании базы данных ACID, гарантируя атомарное сохранение переходов между состояниями. Кроме того, прикладные службы также решают задачи безопасности. У нас уже есть агрегат Inventory. Для реализации всей фичи целиком воспользуемся прикладной службой. В ней необходимо проверить наличие всех связных сущностей, а также права доступа у пользователя. Только после соблюдения всех условий можно выполнять сохранение текущего состояния агрегата и отправлять события во внешний мир. Для реализации прикладной службы мы используем MediatR. GetAsync request. HasPermissionsAsync request. CountryId, request. Token, inventory. UnitId, ct ; if!
Как франчайзи «ДоДо Пиццы» сократили налоговые риски на 2,5 млн рублей
«Мы пришли к успеху пока вы кушали пиццу». 3 франчайзи ДоДо об окупаемости и конкуренции | Как видят сотрудники «Додо ИС» знает всё о работе пиццерии, но каждому сотруднику показывает только то, что нужно для текущей задачи. |
О том, как разработчики пилят IT в Dodo | Основатель Dodo Brands Федор Овчинников в июне 2022 года перестал быть контролирующим акционером Dodo International Group Limited — юрлица «Додо Пиццы» в Великобритании. |
О том, как разработчики пилят IT в Dodo | «Додо ИС» собирает данные обо всех аспектах работы: от скорости сборки конкретной пиццы до экономической эффективности пиццерии. |
Додо ревизия - фотоподборка | Как мы систему тайных покупателей Додо пиццы водим вокруг пальца. |
Додо трекинг | Dodo is дашборд. Додо ИС график смены. |
«Помните, кто вы, и не уходите с радаров». Как в «Додо Пицца» решили никого не увольнять в кризис
Разработали систему учета с использованием сводных данных из «ДоДо ИС», что помогло снизить затраты на ввод первичных документов в 1С за счет использования сводных проводок. Видео о Проверка эквайринговых платежей в Додо Пицца Смоленск, Dodo IS | Учет. Я рекомендую проверки в ДоДо тайным покупателем и кратко отрезюмирую.
История архитектуры Dodo IS: путь бэкофиса
Там указаны его персональные данные, а именно ФИО и контакты для связи. Это полезно в том случае, если кто-то из работников не вышел на работу по болезни и его требуется заменить. Такое своеобразное рабочее место позволит менеджеру не заниматься поиском контактов. Вся информация будет видна после входа в персональный аккаунт. На сервисе каждый сотрудник может посмотреть, когда истечет срок действия медицинской и санитарной книжки. Это помогает облегчить задачу для менеджера смены по выявлению работников, которым нужно пройти проверку. Используя персональный профиль на сайте Додо ИС, сотрудники пиццерий отмечаются во время прихода на работу.
Руководитель смены жмёт на кнопку с надписью «Открыть смену» возле конкретного работника, теперь он находится в распоряжении менеджера и направляется на одно из рабочих мест. Стоит заметить, что все работники ресторанов Додо являются универсалами. Они могут заниматься изготовлением пиццы и нарезанием продуктов. Сотрудники в личном кабинете Додо ИС могут оставить отзыв, пожелание или жалобу относительно работы.
Выручку управляющей компании — в 33 млн долларов в год, а всей сети — в примерно в 45 млн. При этом, по его словам, свой бизнес он создал с нуля. Его стартовый капитал — 300 тысяч рублей потребкредита. Сейчас Овчинников не только владеет головным брендом, но и является членом наблюдательного совета X5 Retail Group, раз вивает сеть фас тфуда «Донер 42», основанную два года назад. Пока под этим названием работает семь точек.
Сеть начала продавать франшизу в России и в Казахстане. При эт ом он затрудни лся оценить сумму сделки. Максим Тищенко исполните льный директор VSK group «Я думаю, что это была не символическая сделка, хотя сейчас очень тяжело что-то говорить. На российский бизнес в любой западной стране оказывается колоссальное давление, поэтому я думаю, что может быть составляющая, которая говорит о вынужденной продаже. Однако каких-то особых шумих в новостях вокруг этой истории не было, мы узнали о ней впоследствии.
Рейтинг качества пиццерий формируется на основе отчетов покупателей, которые еженедельно оценивают на соответствие стандартам почти 700 пицц. Добровольцы получают за работу Додо-рубли, которыми можно оплатить пиццу при следующем заказе. Но где же тут видеонаблюдение? Видеонаблюдение сокращает расходы и полностью автоматизирует работу по составлению рейтинга пиццерий.
Для этого достаточно предоставить приложению от Dbrain видеоданные вместо фото. С помощью камеры программа успеет проверить не 2 пиццы в неделю, как обычный человек, а 300 в день — ровно всё, что выйдет из печи. Нейросеть Dbrain сегментировала пиццу на 50 000 фотографиях и научилась искать изъяны в каждом сегменте. Например, если на краях пиццы сетка обнаружит маленькие вздутия, которые практически не заметны человеческому глазу, то сразу «поймёт» о плохом качестве теста. При этом сеть сравнивает каждую пиццу с «идеальной» моделью, созданной на основе данных, которые предоставили тайные покупатели и эксперты, профессионально занимающиеся оценкой качества пиццы. Детектор очередей Ivideon Компания Ivideon использовала машинное обучение для создания детектора очереди. Детекторов придумали уже превеликое множество, но все они не лишены недостатков. Люди в очереди не ведут себя как статичные геометрические фигуры. Люди переходят с места на место, нарушая работу внешних датчиков, становятся так, чтобы сливаться с фоном или друг с другом, и мешают камере различить объекты.
Машинное обучение позволило выделить из человека «главное» — голову. А дальше достаточно просто подсчитать количество людей и прислать менеджеру уведомление о возникновении очереди для мгновенной реакции. Менеджер получает уведомление и решает открыть еще одну кассу. Или закрывает кассу, на которой скучает ненагруженный кассир. Другая важная часть сервиса — статистика. Детектор считает количество людей в очереди, строит графики и диаграммы, характеризующие распределение покупателей по времени. С такими данными проще оптимизировать рабочий график персонала, оценить качество маркетинговой акции или выявить недостатки оформления витрины.
Весной 2011 года Овчинников арендовал в центре Сыктывкара небольшое помещение, открыл пиццерию, которая работала только на доставку, и к концу года заведение со стартовыми вложениями в 1,3 миллиона рублей вышло на 1 миллион месячного оборота [4] [5]. К весне 2012 года в компании закрепились все рабочие процессы и появились первые франчайзи [5]. Основой франшизы «Додо Пиццы» стала облачная ERP -система «Додо ИС», которая координирует в пиццерии все процессы: заказы, работу кухни, доставку, рекламу и общий менеджмент [6] [7]. Средства на развитие «Додо Пиццы» Овчинников привлёк у подписчиков своего блога «Сила ума», в котором много лет рассказывал об ошибках и успехах в бизнесе. Некоторые из подписчиков впоследствии сами стали франчайзи сети. К концу 2012 года у «Додо Пиццы» было 8 заведений, к 2014 году — 25, к началу 2015 — 50. За 2018 год открылось около 100 заведений, и в начале 2019 года в сети было 442 пиццерии в России и других странах, — Белоруссии , Великобритании , Казахстане , Киргизии , Китае , Литве , США , Узбекистане и Эстонии [8] [9]. По состоянию на сентябрь 2022 года, к сети относятся 833 заведения в 16 странах.
Додо трекинг
Для этого компания использует облачную информационную систему «Додо ИС» и интеллектуальный подход к видеонаблюдению. Dodo IS | Учет. Ревизия 00:12:13 Dodo Brands Russia. У Dodo IS произошёл каскадный сбой и мы долго не могли реанимировать систему.
Специалисты «Простых решений» помогают автоматизировать учет франчайзи Dodo Brands
Подсказка: чтобы начать проверку, отправьте в чат кодовое слово. С этой целью в компании создали облачную информационную систему «Додо ИС» и стали глобально менять подход к видеонаблюдению. Читайте сегодняшние новости DODO / TetherUS — торгуйте DODOUSDT, принимая обдуманные решения.
Додо пицца застраховалась от киберпреступников
По словам финансового директора компании «Додо Пицца» Дмитрия Соловьева, в "сердце" сети организации - облачная система управления пиццерией «Додо ИС». Соловьев подчеркивает, что это ЕРП-система, которая охватывает все аспекты Додо-бизнеса: заказы клиентов, мобильное приложение и сайт, процессы приготовления пиццы в пиццерии, работу кассы и прием платежей, всю операционную работу пиццерии и многое другое.
В результате этого действия может быть изменено состояние агрегата, и может быть сгенерировано одно или несколько событий предметной области. Событие предметной области — это уведомление об изменении состояния агрегата, нужно для обеспечения согласованности. Агрегат обеспечивает транзакционную согласованность: все данные должны быть изменены здесь и сейчас.
Итоговая согласованность гарантирует согласованность в конечном счете — данные изменятся, но не здесь и сейчас, а через неопределенный промежуток времени. Этот промежуток зависит от многих факторов: загруженность очередей сообщений, готовность внешних сервисов к обработке этих сообщений, сеть. Корневой элемент — это сущность с уникальным глобальным идентификатором. Дочерние элементы могут иметь только локальную идентичность в рамках целого агрегата.
Они могут ссылаться друг на друга и могут иметь ссылку только на свой корневой элемент. Команды и события Опишем бизнес-требование командой. Команды — это просто DTO с описательными полями. Мы помечаем событие интерфейсом IPublicInventoryEvent — понадобится нам для интеграции с внешними потребителями в дальнейшем.
В событии «замер» поля такие же, как и в команде «Добавление замера», кроме того, что событие хранит ещё идентификатор агрегата на котором оно произошло и его версию. Подход такой: начало ревизии инициирует создание агрегата Inventory, для этого мы используем фабричный метод Create и начинаем ревизию командой StartInventoryCommand. Каждая команда мутирует состояние агрегата и сохраняет события в списке changes, которые как раз и отправятся в хранилище на запись. Также на основе этих изменений будут сгенерированы события для внешнего мира.
Когда агрегат Inventory был создан, мы можем его восстанавливать на каждый последующий запрос на изменение его состояния. Изменения changes хранятся с момента последнего восстановления агрегата. Состояние восстанавливается методом Restore, который проигрывает все предыдущие события, отсортированные по версии, на текущем экземпляре агрегата Inventory. Это реализация идеи Event Sourcing в рамках агрегата.
О том, как реализовать идею Event Sourcing в рамках хранилища поговорим немного позже. Есть хорошая иллюстрация из книги Вон Вернона: Состояние агрегата восстанавливается путем применения событий в порядке их появления. Дальше происходит несколько замеров командой AddMeasurementCommand. Ревизия завершается командой FinishInventoryCommand.
Агрегат валидирует своё состояние в мутирующих методах для соблюдения своих инвариантов. Важно отметить, что агрегат Inventory версионируется целиком, а также каждый его замер. С замерами сложнее — приходится решать конфликты в методе обработки события When MeasurementEvent e. В коде я приведу только обработку команды AddMeasurementCommand.
Value; existMeasurement. MeasurementVersion; existMeasurement. UnitOfMeasure; existMeasurement. MeasurementId, e.
Если такого нет — добавляется новый замер. Если есть — нужны дополнительные проверки: нельзя редактировать удаленный замер; входящая версия должна быть больше предыдущей. Если условия выполняются — можем установить новое значение и новую версию для существующего замера. Если версия меньше, то это конфликт.
Для этого мы генерируем исключение MeasurementConcurrencyException. Если версия совпадает и значения отличаются, то это тоже конфликтная ситуация. Ну и если совпадает как версия, так и значение, то изменений не произошло. Таких ситуаций обычно не возникает.
Сущность «замер» содержит точно такие же поля, что и команда «Добавление замера». NewUUId ; inventory. StartInventory Create. WithUnitId unitId.
WithMeasurement measurementId, measurementVersion. WithValue value.
Смотрим на последний релиз монолита. Монолит делает запросы к базе монолита, в монолите находится LF, а значит, что-то могло повлиять на них.
Релиз был раскатан в 11:01 23 сентября и весь день проработал нормально. Обычно перформансные проблемы в релизе проявляются достаточно быстро. Но этот релиз был раскатан в пятницу утром в пятницу после 15 мы ничего не катим , и пока у него не было ни одного проработанного вечера. Этот вечер был первым.
Пошли изучать код релиза. В релизе было 15 задач, поэтому детальное изучение занимает время. В 19:25 запускаем откат монолита России на 928 релиз. В 19:27 релиз монолита падает по причине того, что под Migrator не сумел выполнить запрос к базе из-за того, что она нагружена.
Мигратор — это встроенный в релиз механизм обновления данных или схемы базы. Он используется для небольших изменений в базе, когда надо создать новую таблицу или обновить данные до 100К записей. Для больших изменений мы используем обновление базы вне релиза. Тут происходит фатальная ошибка: вместо того, чтобы попробовать накатить релиз без мигратора, мы оставляем идею просто обновить систему и идём отрабатывать другие версии, а также изучать код всех 15 задач в поставке.
Возможно, откати мы тогда, все могло бы быть иначе. После первой и единственной попытки откатить релиз отрабатываем версии с балкхэдами, точечными запросами в меню на базе и прочие. В 21:18 всё таки решаем откатить на 928 релиз. Это тот релиз, который пристально изучали и в котором ничего не нашли и тот, на который мы ещё час назад попробовали откатить, но из-за мигратора не получилось.
Фактически это уже был жест отчаяния: что бы мы ни делали, восстановить работу системы не выходило. Релиз откатился примерно в 21:20. Всё поднялось. Но что это было?
Может, дело в релизе? И во время инцидента, и после ничего плохого в коде релиза не нашли. Уже после инцидента гипотеза, что были проблемы в релизе была основной для изучения. Мы на неделю остановили поставки новых версий, изучали вдоль и поперёк, но ничего негативного в релизе не обнаружили.
В конце первой недели после сбоя накатили тот же релиз, что был в момент сбоя. Он работал хорошо. Анализ инцидента Частью описания постмортема является анализ инцидента. Мы его делаем, отвечая на несколько вопросов: Что навредило.
Что мы делали на инциденте, что нам не помогало. Это лишние или ошибочные действия. Скорее всего, скейл базы с 32 до 64-х ядер только ухудшил положение дел. После скейла очистился кеш БД и это привело к дальнейшему каскадному сбою.
Благодаря такой взаимозаменяемости график работ настраивается по количеству действующего персонала в отдельно взятый отрезок времени. Смены могут быть как полными 8-часовыми, так и укороченными. Dodo IS отследит время работы каждого человека и зафиксирует его в плановом отчете для расчетного периода. Открытие и закрытие смены Каждая смена в сети ресторанов «Додо Пицца» начинается со встречи сотрудников пиццерии менеджером смены. В обязанности менеджера, имеющего 8-часовой рабочий день, входят: открытие смены; вызов дополнительных сотрудников в часы пиковой нагрузки; контроль работы сотрудников; продление смены отдельно взятого работника; приход и списание товара; закрытие рабочего периода. Менеджер открывает смену и контролирует работу сотрудников. В конце каждой смены менеджер сверяет денежные средства, полученные от курьера, с количеством сделанных за день заказов, используя его рабочий мобильный планшет.
Также при закрытии смены сверку денежных средств производит кассир. Если при сведении кассы возникнут расхождения, система соберет информацию о возврате продуктов и ненапечатанных чеках. Таким образом автоматизированная система управления решает сложные вопросы в считаные минуты.
История архитектуры Dodo IS: путь бэкофиса
Бесячая отмена проверки в Додо и её исправление. облачная система управления пиццерией «Додо ИС». Владелец сайта предпочёл скрыть описание страницы. Читайте сегодняшние новости DODO / TetherUS — торгуйте DODOUSDT, принимая обдуманные решения. Франчайзи подключается не просто к успешной, узнаваемой сети — его, в полном смысле этого слова, подключают к системе «Додо ИС», которая позволяет контролировать происходящее на кухне и в торговом зале. Здесь мы рассказываем о том, куда идём с точки зрения архитектуры, развития системы и захвата мира.