Перейти к основному содержимому

Роли и панели

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

Четыре роли

Доступ устроен по принципу RBACRBACRole-Based Access Control — управление доступом на основе ролей. Права выдаются роли (Company Admin, Brand Admin, Restaurant Manager), а не каждому пользователю отдельно.: права привязаны к роли, а не к конкретному человеку. Каждая роль видит строго свой срез данных — это обеспечивает изоляция тенантовТенантЛогически изолированный клиент в multi-tenant системе. В Ghost Kitchen тенант — это бренд: его данные отделены от других по `brand_id` и правам доступа. по brand_id.

Что видит каждая роль

РольПанельВидитМожет
Company AdminCompany AdminВладелец платформы. Видит и управляет всеми брендами, ресторанами, заказами и сквозной аналитикой; создаёт новые бренды.Суперадминка (Company)Все бренды, рестораны, заказы, финансы, сквозная аналитикаСоздавать бренды и кухни, управлять платформой, всеми пользователями и тарифами
Brand AdminBrand AdminАдминистратор одного бренда. Управляет своими ресторанами, меню и настройками, видит статистику только своего бренда.Админка брендаСвои рестораны, меню, заказы и статистику брендаУправлять меню/ценами бренда, заводить кухни, приглашать менеджеров
Restaurant ManagerRestaurant ManagerМенеджер конкретной кухни. Работает с входящими заказами (KDS), локальным меню и настройками одной локации.Панель кухни + KDSKDSKitchen Display System — экран на кухне, отображающий входящие заказы и их статусы вместо бумажных чеков.Заказы и меню только своей кухниПринимать/готовить заказы, менять статусы, ставить позиции в стоп-лист
CustomerВитрина (сайт/моб.)Меню одного бренда, свою корзину и заказыЗаказывать, оплачивать, отслеживать статус

Панели и приложения

:::tip Откуда берутся админки Базовую админку для управления данными даёт «из коробки» DirectusDirectusOpen-source headless-платформа поверх PostgreSQL: даёт модель данных, REST/GraphQL API, аутентификацию, RBAC и готовую админку без написания кода. (RBACRBACRole-Based Access Control — управление доступом на основе ролей. Права выдаются роли (Company Admin, Brand Admin, Restaurant Manager), а не каждому пользователю отдельно. и права на каждую таблицу). Поверх неё для удобных сценариев (дашборды, быстрый запуск бренда, KDS) делаются отдельные экраны на Nuxt/Vue. Разделение, какие сценарии остаются в Directus, а какие выносятся в кастомный UI, — тема раздела Фронтенд. :::

Иерархия владения

  • Платформа владеет всеми брендами.
  • Бренд владеет своими кухнями/ресторанами.
  • Кухня владеет своими заказами и локальной версией меню.
  • Клиент существует на уровне платформы — поэтому одного клиента можно узнавать во всех брендах (сквозная лояльность и аналитика), что невозможно на изолированных магазинах Shopify.