Продажи по регионам
-Сводные показатели за выбранный период
+diff --git a/brief.md b/brief.md index bc74dce..53a5c28 100644 --- a/brief.md +++ b/brief.md @@ -1,38 +1,27 @@ # Дашборд продаж по регионам -## Тип решения -Статический сайт (index.html + style.css + script.js на ванильном JS с Tailwind CDN). +Сделай дашборд по продажам Казахтелекома по всем регионам Казахстана. -## Задача -Создать визуализацию показателей продаж по регионам Казахстана за текущий месяц для презентации в Telegram-группе. +Цель: Визуализировать показатели продаж по всем регионам Казахстана. -## Кто пользуется -Руководство департамента, менеджеры по продажам (просмотр). +Пользователи: Сотрудники, отслеживающие продажи -## Что делает прототип -- Отображает сводные карточки (KPI) сверху: общая выручка, выполнение плана (%), количество сделок. -- Показывает интерактивную карту или таблицу регионов (Алматы, Астана, Шымкент, ЗКО, ВКО и др.) с цветовым кодированием выполнения плана. -- Отрисовывает столбчатую диаграмму (Bar Chart) продаж по каждому региону за месяц. -- Реализует фильтр по месяцам (выпадающий список), меняющий данные на графиках без перезагрузки страницы. -- Кнопка «Обновить данные» имитирует подгрузку свежих чисел. -- Адаптивная верстка для просмотра с мобильных устройств в Telegram. +Экраны: +- Главный экран: карта Казахстана с регионами и сводные показатели продаж -## Демо-данные -- 16 регионов РК (области + города республиканского значения). -- Реалистичные суммы продаж в тенге (диапазон 10–500 млн ₸). -- Статусы выполнения плана: «Выполнен», «В работе», «Отставание». -- Даты транзакций в формате ДД.ММ.ГГГГ за текущий месяц. +Данные: Показатели продаж по каждому региону Казахстана -## Допущения -- Данные хранятся только в браузере (localStorage), при очистке кэша сбрасываются. -- Валюта отображается в тенге (₸). -- График строится на библиотеке Chart.js (подключается через CDN). +Правила брифа: интерфейс в стиле Казахтелекома на дизайн-системе KT AI, на русском; адаптивно для телефона; без входа по логину и паролю. Если настоящих данных нет — наполни приложение правдоподобными примерами. Не пиши на экране пометок «демо», «демонстрационная версия», «тестовые данные» и не утверждай, откуда взяты данные. -## Чего пока нет -- Авторизации и разграничения прав доступа. -- Интеграции с 1С, CRM и реальными базами данных. -- Выгрузки отчетов в Excel (только визуализация). -- Серверной части и постоянного хранилища. +## Объём работы + +Собирай ровно то, что написано в задании. Не добавляй лишние разделы, журналы и настройки. Для статичной страницы достаточно index.html. Если запрошен статичный макет, не добавляй серверную часть на этом этапе. +Если задача требует общего хранения, настоящей регистрации или рабочего приложения, реализуй серверную часть и базу данных средствами Vibe AI. Создай необходимые файлы, таблицы и обработчики, даже если владелец не перечислил их отдельно. Не подменяй общее хранение localStorage или демонстрационным списком. Собственная база приложения не требует интеграции с системами КТ и отдельного утверждения дизайна в экспрессе. При доработке существующего проекта это правило заменяет прежнее ограничение одним HTML-файлом. +Проверь сохранение записи, чтение из другой сессии, обработку ошибок и ограничения доступа. Личные данные доступны только уполномоченному пользователю, секреты не попадают в браузерный код. Не придумывай доступы или готовые интеграции. Если публикация серверной части недоступна, укажи конкретную причину и не объявляй функцию работающей. Закончив, опубликуй приложение и сообщи фактический адрес и результаты проверки; сохраняй прежний адрес, если платформа это позволяет. + +## Имена файлов + +Если серверная часть не нужна, скрипт интерфейса называй script.js, стили — style.css. Не создавай в корне проекта файлы app.js, main.js, index.js, server.js, bot.js, app.py, main.py, server.py и package.json со scripts.start: платформа примет проект за серверное приложение и не опубликует статичный сайт. Эти имена — только для настоящего сервера. ## Дизайн — дизайн-система KT AI @@ -41,12 +30,38 @@ Подключай файлы ДС относительными путями и в этом порядке: `./design-system/kt-ai-fonts.css`, `./design-system/kt-ai-tokens.css`, `./design-system/kt-ai-components.css`, `./design-system/kt-ai-page.css`. Тема по умолчанию — светлая: ``; не ставь `dark` и не ставь `auto` -(auto уходит в тёмную по системной теме). Переключатель темы можно оставить, но открываться страница должна светлой. +(auto уходит в тёмную по системной теме). `lang` — язык интерфейса из задания: казахский — `kk`, английский — `en`, иначе `ru`. Переключатель темы можно оставить, но открываться страница должна светлой. Цвета, отступы и размеры — только токенами `var(--kt-ai-…)`, иконки — из `design-system/icons/kt-ai-lucide-sprite.svg`. +Плашки показателей — `.kt-ai-kpi` (`.value`, `.label`, `.hint`) в полосе `.kt-ai-kpi-strip`; таблицы — по правилам ДС (frameless, `.kt-ai-table-wrap`, числа вправо, `tabular-nums`); +графики — чистый SVG/div высотой 190–220px, столбцы 20–28px с радиусом 2px, цвета только `var(--kt-ai-chart-blue|green|orange|pink|red|salmon)`, подсказки значений — `data-kt-tip` + `./design-system/kt-ai-chart-tip.js`. +Имена токенов не выдумывай — только существующие в `design-system/kt-ai-tokens.css`: --kt-ai-fg / -fg-muted / -fg-faint, --kt-ai-bg / -bg-soft, --kt-ai-card-bg / -card-border, --kt-ai-border / -border-strong, --kt-ai-primary, --kt-ai-radius-xl / -3xl, --kt-ai-font-sans / -mono, --kt-ai-chart-blue / -green / -orange / -pink / -red / -salmon, --kt-ai-status-ok-fg / -warn-fg / -risk-fg. +Несуществующий токен (`--kt-ai-text-primary`, `--kt-ai-bg-surface`, `--kt-ai-font-family`) молча не применится — страница выйдет в Times New Roman без рамок. +Классы ДС (`.kt-ai-kpi`, `.kt-ai-card`, `.kt-ai-table`, `.kt-ai-btn`, `.kt-ai-chip`, `.kt-ai-input`) в своём ` + -
+ -Сводные показатели за выбранный период
+