Product Owner в Poster
  • Как мы строим платформу для интеграций, или «iFramе is not a sh*t»

    1.
    Саша, ты написал две цитаты: «открыто в браузере в нативном приложении» и «с локальной машины» вместе, хотя они взяты из разных частей статьи.

    Давай я более подробно объясню, почему выбрали именно такой стек технологий, думаю это поможет разобраться.

    Открыто в браузере в нативном приложении именно SPA. SPA это и есть ядро Poster. Выбрали веб приложение, потому что легче поддерживать одно приложение в вебе чем писать 3 нативных интерфейса для каждой платформы.

    Нативная обертка нужна для общения с оборудованием, к сожалению, нельзя из браузера просканировать локальную сеть и найти Ethernet принтер.

    Когда я говорил про локальную машину, я имел ввиду что bundle грузится с компьютера разработчика только в момент разработки плагина. У клиентов JS грузится с нашего сервера.

    2.
    Проверять код каждого разработчика это очень ресурсозатратно, и я не знаю линтера, который защитит от кода с багами. Если ты знаешь, подскажи, пожалуйста.

    Конечно можно ограничивать людей и штрафовать за баги, но это не наш подход. Мы за то, чтобы дать разработчику как можно больше «безопасных» инструментов, а не за ограничения.

    Насчет 5 интеграций, я еще не видел ни одного клиента, у которого бы стояло 5 интеграций на одной кассе.

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

    3.
    Задержка 5 секунд выделяется на каждое приложение и сформирована чисто эмпирическим путем. Опять же, возможно в статье это не достаточно детально описано, но при задержке в 5 секунд мы перезагружаем именно iFrame, а Poster продолжит свою работу как будто плагин не подключен, и пока приложение загружается, официант сможет спокойно закрыть заказ.

    Что ты понимаешь под фразой «Вы же не по сети ходите. У вас же не может быть потери пакетов.»? Касса постоянно общается с сервером и при плохом интернете могут быть сбои и задержки.

    4.
    Фича по сравнению закупочных цен еще в разработке. Данные мы планируем брать анонимизированные по клиентам Poster, то есть это агрегированная неперсонализированная статистика.

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

    Ты прав, что нужно показывать владельцу бизнеса, что он переплачивает при закупках. И как проверять качество закупаемых ингредиентов — это один из челенджей, которые предстоит решить. Сейчас на этапе тегирования категорий, и определения, что два заведения похожи друг на друга.

  • Как мы строим платформу для интеграций, или «iFramе is not a sh*t»

    В Poster валюта аккаунта не привязана к реальной валюте или ее курсу. Острой потребности в этом нет, так как один аккаунт Poster всегда работает в рамках одной страны. Тут я не корректно записал демо и не посмотрел на валюту тестового аккаунта.

    У реальных клиентов таких проблем не возникает.

  • Как мы строим платформу для интеграций, или «iFramе is not a sh*t»

    Спасибо, посмотрим как у них все оформлено

    Поддержал: Sviatoslav Sydorenko
  • Как мы строим платформу для интеграций, или «iFramе is not a sh*t»

    Да, главное чтобы визуально все смотрелось органично и iFrame не казался инородным телом в продукте

  • Как мы строим платформу для интеграций, или «iFramе is not a sh*t»

    Согласен, сейчас пробуем еще одним способом использовать iFrame:

    Когда клиент заполняет создает новое блюдо, ему нужно заполнить ингредиенты этого блюда. Ингредиенты создаются на отдельной странице и если забыл их добавить заранее, приходится закрывать страницу создания блюда, возвращаться на страницу с ингредиентами, создавать новый, а потом обратно в форму блюда.

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

    И так можно делать со всеми сущностями по проекту, которые зависят от других от друга.

  • Как мы строим платформу для интеграций, или «iFramе is not a sh*t»

    да, имел ввиду на постсоветском пространстве

  • Ресторанный хакатон в Poster: умные весы и чатботы

    Спасибо, Александр!