Krona Universal Business OS - Interactive Frontend Prototype
Find a file
2026-09-11 09:40:38 +07:00
deploy/kcc docs(control-center): add comprehensive handoff specifications and atomic zero-downtime deployment package 2026-09-11 02:34:51 +07:00
dist build(control-center): add fresh compiled dist files with control center 2026-09-11 09:10:34 +07:00
docs docs(control-center): add comprehensive handoff specifications and atomic zero-downtime deployment package 2026-09-11 02:34:51 +07:00
e2e test(control-center): add 11 Playwright E2E scenarios across desktop, tablet, and mobile 2026-09-11 02:34:45 +07:00
public style: update brand logo to user golden Celtic tree emblem 2026-09-10 20:07:44 +07:00
src feat(control-center): adapt ModulesPage styling, rollout stages, and RU strings 2026-09-11 09:40:38 +07:00
.gitignore fix(stage-a): eliminate all 186 oxlint warnings, enable deny-warnings, add npm run check, install chromium for playwright 2026-09-11 00:34:46 +07:00
.oxlintrc.json feat: initial commit of Krona Universal Business OS interactive prototype 2026-09-10 20:01:31 +07:00
FEATURE-COVERAGE.md feat(agy-fe-01): fully interactive frontend prototype with configuration engine, pilot1 flows, indexeddb persistence and comprehensive test suite 2026-09-10 23:36:30 +07:00
FRONTEND-COMPLETION-TASK-FOR-AGY.md feat(agy-fe-01): fully interactive frontend prototype with configuration engine, pilot1 flows, indexeddb persistence and comprehensive test suite 2026-09-10 23:36:30 +07:00
FRONTEND-REMEDIATION-TASK-FOR-AGY.md fix(stage-a): eliminate all 186 oxlint warnings, enable deny-warnings, add npm run check, install chromium for playwright 2026-09-11 00:34:46 +07:00
index.html feat: initial commit of Krona Universal Business OS interactive prototype 2026-09-10 20:01:31 +07:00
package-lock.json feat(agy-fe-01): fully interactive frontend prototype with configuration engine, pilot1 flows, indexeddb persistence and comprehensive test suite 2026-09-10 23:36:30 +07:00
package.json fix(stage-a): eliminate all 186 oxlint warnings, enable deny-warnings, add npm run check, install chromium for playwright 2026-09-11 00:34:46 +07:00
playwright.config.ts fix(stage-a): eliminate all 186 oxlint warnings, enable deny-warnings, add npm run check, install chromium for playwright 2026-09-11 00:34:46 +07:00
postcss.config.js feat: initial commit of Krona Universal Business OS interactive prototype 2026-09-10 20:01:31 +07:00
README.md feat(agy-fe-01): fully interactive frontend prototype with configuration engine, pilot1 flows, indexeddb persistence and comprehensive test suite 2026-09-10 23:36:30 +07:00
tailwind.config.js feat(agy-fe-01): fully interactive frontend prototype with configuration engine, pilot1 flows, indexeddb persistence and comprehensive test suite 2026-09-10 23:36:30 +07:00
tsconfig.app.json feat: initial commit of Krona Universal Business OS interactive prototype 2026-09-10 20:01:31 +07:00
tsconfig.app.tsbuildinfo refactor(shared): consolidate shared components imports into shared/ui 2026-09-11 02:34:15 +07:00
tsconfig.json feat: initial commit of Krona Universal Business OS interactive prototype 2026-09-10 20:01:31 +07:00
tsconfig.node.json feat: initial commit of Krona Universal Business OS interactive prototype 2026-09-10 20:01:31 +07:00
vite.config.ts feat: initial commit of Krona Universal Business OS interactive prototype 2026-09-10 20:01:31 +07:00
vitest.config.ts feat(agy-fe-01): fully interactive frontend prototype with configuration engine, pilot1 flows, indexeddb persistence and comprehensive test suite 2026-09-10 23:36:30 +07:00

Krona Universal Business OS — Interactive Frontend Prototype

Автономный интерактивный референс-прототип универсальной бизнес-экосистемы «Крона» (Krona Business Platform)
Разработан в соответствии с нормативными спецификациями ochenstarik/business-platform.

Build Status Tests TypeScript Design System


1. Назначение платформы

Проект представляет собой полностью интерактивный frontend-прототип операционной системы для бизнеса (Universal Business OS). Он позволяет владельцу бизнеса, топ-менеджменту, разработчикам и дизайнерам пройти по всем ключевым сценариям продукта без подключения реального бэкенда:

  • Переключать отраслевые бизнес-профили (Ресторан Зал+Доставка, Дарккитчен, Ритейл, Автомойка/СТО, Салон красоты, Опт B2B);
  • Переключать ролевую модель (10 системных ролей RBAC от Владельца до Кассира, Повара и Курьера);
  • Использовать полнофункциональный Configuration Engine: создавать пользовательские сущности, добавлять типизированные поля (39+ типов), конструировать формы, карточки и представления;
  • Запускать сквозные бизнес-потоки Pilot 1 (BF-01: Лид → Контакт → Сделка → Заказ; BF-02: Заказ → Резерв → Оплата → Отгрузка);
  • Работать с целевыми модулями экосистемы (POS, KDS, Карта залов, Склад, HelpDesk, Омниканальные чаты, Задачи, CMS Page Builder, Маркетинг, Автоматизации, Аналитика, AI Center) с честной маркировкой зрелости компонентов (Pilot 1, Target prototype, Demo only);
  • Сохранять состояние в локальной базе IndexedDB с версионированием, экспортом/импортом снапшотов и сбросом демо;
  • Тестировать интерфейс в эмуляторе адаптивности: Desktop (1440×900), Tablet Landscape (1180×800), Tablet Portrait (820×1050), Mobile (420×880).

2. Быстрый старт

Требования

  • Node.js >= 18.x
  • npm >= 9.x

Команды разработки

# Установка зависимостей
npm install

# Запуск dev-сервера (http://localhost:5173)
npm run dev

# Проверка строгой типизации TypeScript
npx tsc -b

# Проверка линтером Oxlint
npm run lint

# Запуск автоматизированных тестов Vitest (85 тестов)
npm test

# Запуск тестов в режиме наблюдения
npm run test:watch

# Сборка оптимизированного production bundle
npm run build

3. Архитектура слоев

Проект структурирован строго по методологии FSD-like / Layered Architecture:

src/
├── app/                  # Инициализация приложения, провайдеры, роутер, shell, guards
│   ├── guards/           # RouteGuard (RBAC + Capability + State Override)
│   ├── layouts/          # AppShell (Desktop / Tablet / Mobile адаптивный фрейм)
│   ├── providers/        # ErrorBoundary, QueryClientProvider, ToastProvider
│   ├── router/           # React Router 6 с code-splitting для каждого модуля
│   └── shell/            # Sidebar, Topbar, BottomNav, CommandPalette (Ctrl+K), AI Drawer
├── core/                 # Фундаментальные реестры платформы
│   ├── capabilities/     # Реестр возможностей бизнеса (CRM, POS, KDS, Dining и т.д.)
│   ├── modules/          # Реестр 17 системных модулей платформы
│   ├── permissions/      # 10 ролей RBAC с матрицей доступных разделов
│   ├── profiles/         # 6 преднастроенных профилей бизнеса с отраслевой терминологией
│   └── theme/            # Семантические токены Krona (Green, Gold, Surface)
├── entities/             # Типы и контракты доменных сущностей (Contact, Deal, Order...)
├── features/             # Модули прикладной функциональности
│   ├── ai/               # AI Center (симуляция оркестратора, мультиагентные промпты)
│   ├── analytics/        # Аналитика (KPIs, динамические периоды, ABC-анализ)
│   ├── apps/             # Каталог расширений и интеграций
│   ├── automation/       # Конструктор бизнес-процессов с логом тестирования
│   ├── cms/              # Визуальный Page Builder (6 типов виджетов, JSON-экспорт)
│   ├── communications/   # Омниканальный Inbox (TG, WA, MAX, автоответчик)
│   ├── crm/              # CRM 360 (Лиды, Контакты, Компании, Сделки Kanban)
│   ├── dashboard/        # Динамический дашборд с виджетами под профиль бизнеса
│   ├── employees/        # Персонал и планировщик смен с контролем >12ч
│   ├── finance/          # Финансы (ДДС, P&L, статьи расходов, кассовые смены)
│   ├── helpdesk/         # Служба поддержки (тикеты, SLA таймеры, публичные/внутренние заметки)
│   ├── inventory/        # Складской учет (остатки, партии, списания, оприходования)
│   ├── marketing/        # Маркетинговые кампании и конструктор сегментов
│   ├── metadata/         # DynamicFormRenderer, DynamicCardRenderer, FieldRenderer
│   ├── operations/       # Операции (POS касса, KDS дисплей кухни, Столы/Брони)
│   ├── sales/            # Продажи и заказы (реестр заказов, статусы исполнения)
│   ├── settings/         # Настройки платформы и Configuration Engine
│   └── tasks/            # Задачи (Kanban доска, чек-листы, комментарии)
├── services/             # Сервисный слой абстракций и контрактов
│   ├── contracts/        # TypeScript интерфейсы для всех бизнес-сервисов
│   ├── mock/             # Репозитории с имитацией latency, validation, audit log
│   └── storage/          # Версионированная IndexedDB (7 stores, snapshots, reset)
├── shared/               # Библиотека переиспользуемых компонентов и утилит
│   ├── components/       # Базовые контролы (Button, Input, Select, Badge, Drawer, Modal)
│   ├── lib/              # ULID генератор, форматирование валюты/дат, debounce
│   └── ui/               # MaturityBadge, ErrorBoundary, Skeleton, Toast
└── stores/               # Zustand хранилища для UI и Demo-состояния
    ├── demo.ts           # Demo Controls (профиль, роль, ошибки, часы, latency)
    ├── navigation.ts     # Состояние мобильного меню и аккордеонов
    └── theme.ts          # Переключение Light / Soft-Light / Dark c persistence

4. Configuration Engine — Конструктор платформы

Раздел Настройки → Сущности (/settings/entities) представляет собой полноценный рабочий no-code конструктор платформы:

4.1 Каталог сущностей

  • Отображение системных (contact, company, lead, deal, order, product, warehouse, task, employee, ticket) и кастомных сущностей;
  • Создание новой сущности: код, названия (ед./мн. число), иконка, цвет, автонумерация, категория;
  • Созданные кастомные сущности моментально регистрируются в боковом меню (Sidebar), Command Palette (Ctrl+K) и получают маршруты /entities/:code с рабочим списком и карточкой.

4.2 Field Builder (Редактор полей)

  • Поддержка полного реестра типов (39+ типов из спецификации docs/52-FIELD-TYPES-REFERENCE.md):
    • Примитивные: text, long_text, rich_text, integer, decimal, money, percentage, boolean, date, datetime, time;
    • Перечисления: select, multi_select, radio, checkbox_group, status, rating;
    • Контакты и медиа: phone, email, url, address, location, file, image, color;
    • Отношения и связи: entity_relation, one_to_one, one_to_many, many_to_many, user, employee, customer, product;
    • Вычисляемые: formula, calculated, autonumber, json;
  • Настройки поля: label, machine name, required, unique, read-only, hidden, searchable, filterable, default value;
  • Редактор списка вариантов (options) с возможностью назначения цвета и архивации значений;
  • Защита системных инвариантов: системные поля невозможно удалить или несовместимо изменить.

4.3 Form Builder (Конструктор форм)

  • Визуальный drag-and-drop редактор форм создания и редактирования;
  • Палитра доступных полей, холст с секциями, колонками и вкладками;
  • Настройка параметров каждого блока в правой инспектор-панели;
  • Переключение адаптивного предпросмотра (Desktop / Tablet / Mobile).

4.4 Card Layout Builder (Конструктор карточки записи)

  • Модульная сборка карточки: заголовок, блок полей, вкладки, связанные списки, таймлайн активности, задачи, заметки, аудит;
  • Настройка первичных и вторичных полей заголовка;
  • Предпросмотр на реальных demo-данных.

4.5 View Builder (Конструктор представлений / таблиц)

  • Выбор колонок из всех доступных системных и кастомных полей;
  • Drag-and-drop порядка колонок, ширина, закрепление (pinned), сортировка;
  • Конструктор быстрых фильтров.

5. Сквозные сценарии Pilot 1

Сценарий BF-01: CRM Deal → Order

  1. Входящий лид регистрируется в CRM с контактами и суммой.
  2. Лид конвертируется в Контакт и связанную Сделку.
  3. Сделка перемещается по стадиям Kanban (Квалификация → КП → Переговоры → Успешно / Won).
  4. При переходе в Won автоматически формируется коммерческий Заказ в модуле Продаж со спецификацией товаров и расчетом сумм.

Сценарий BF-02: Order Lifecycle (Confirm → Reserve → Pay → Ship)

  1. Черновик заказа подтверждается оператором (Confirm).
  2. На складе автоматически создается резерв остатка товара (Reservation).
  3. Принимается оплата (наличные, карта или сплит) — в модуле Финансы формируется проводка ДДС (Cash-flow).
  4. Оформляется отгрузка (Shipment) — физический остаток на складе списывается, резерв снимается, статус заказа переходит в Completed.

6. Маркировка зрелости функций (Maturity Badges)

В шапке каждого экрана расположен компонент <MaturityBadge />, четко информирующий пользователя об уровне готовности:

Бейдж Уровень Описание Примеры модулей
Pilot 1 (Зеленый) Готово к пилоту Полноценная архитектура данных, сквозные сценарии, валидация, проводки Dashboard, CRM, Sales, Inventory, Finance, Configuration Engine, Settings
Target prototype (Синий) Целевой прототип Интерактивный макет с локальным состоянием для согласования продуктового UX Operations (POS, KDS, Зал), Employees, Communications, HelpDesk, Tasks, CMS, Marketing, Automation, Analytics
Demo only (Фиолетовый) Демонстрация концепта Эмуляция сложных процессов (AI-оркестрация, сторонний маркетплейс) AI Center, Apps Catalog

7. Демо-контролы и управление состоянием

В верхней панели (Topbar) и правой панели Command Panel доступны средства управления прототипом:

  1. Бизнес-профили: Ресторан Зал+Доставка, Ресторан Доставка, Ритейл, Автомойка/СТО, Салон красоты, Опт B2B. Переключение мгновенно адаптирует состав меню, терминологию и виджеты.
  2. Роли RBAC: 10 ролей с реальным контролем прав доступа через RouteGuard.
  3. State Override: Normal, Loading (скелетон), Empty, Error (ErrorBoundary), Permission Denied (403 Forbidden).
  4. Снимки базы данных: Экспорт снимка базы в JSON, восстановление из JSON-файла, сброс до эталонного seed-состояния.

8. Руководство по интеграции с Backend (REST API)

Архитектура сервисов полностью изолирует компоненты от хранилища:

  1. Все обращения к данным происходят через хуки (useOrders, useCrm, useInventory, useMetadata) и типизированные контракты в src/services/contracts/.
  2. Текущая реализация использует репозитории в src/services/mock/ поверх IndexedDB.
  3. Для перехода на реальный backend:
    • Реализовать класс ApiCommerceService implements ICommerceService с методами fetch() / axios;
    • Подставить его в экспорт сервиса src/services/mock/index.ts;
    • UI-компоненты продолжат работать без изменений.

9. Лицензия и авторство

Разработано для платформы «Крона». Все права защищены.