Демо в браузере

Откройте демо, используйте admin / admin.
Демо использует обычные главную, списки таблиц и формы записей админки. После входа
приглашение в необязательный тур предлагает Начать тур или Не сейчас. Переходы
и подсветка начинаются только после нажатия Начать тур. Отказ или закрытие приглашения
запоминаются; при желании выберите Начать тур в меню профиля. Тур только открывает
настоящие страницы и объясняет контролы; он не сохраняет записи. Управляйте им кнопками
Назад, Далее, Пропустить тур и Завершить. Закрытие и пропуск тоже
запоминаются. Шаг сохраняется при собственных переходах тура и перезагрузках в той же
вкладке; новая вкладка не запускает его автоматически.

Для английского или русского интерфейса откройте демо с ?lang=en или ?lang=ru.
Иначе используется сохранённый язык или язык браузера.

Для редактируемых дат откройте Список таблиц → Schedules → Создать запись или найдите
Schedules через Найти таблицу. В форме есть Дата, Дата и время и необязательное
Время. Значок календаря рядом с Дата или частью даты в Дата и время открывает
существующий календарь внутри страницы. Укажите название, заполните обязательные
значения и нажмите Создать запись, чтобы сохранить свою вымышленную запись.

Workflow документации собирает и публикует демо по пути /demo/.
Обзор интерфейса содержит скриншоты и пошаговые сценарии.

Что попробовать

Экран Работающий пример
Schedules Откройте Создать запись для изменения Дата, Дата и время или Время и значка календаря; существующие записи также показывают микросекунды, nullable boolean, многострочный TEXT и JSON
Products Измените цену/остаток прямо в ячейке, сохраните или отмените; переключите Active в списке
Field samples Enum, UUID, числа, ссылки URL/issue, предпросмотр многострочного текста и JSON, значения модели по умолчанию, время/binary только для чтения и контрол ключа задачи с подсказками
Действия Field samples Откройте образец и выполните Publish sample или Archive sample; проверьте статус и локальную историю
Folders Поиск по 36 вариантам с пагинацией; родитель и дети в дереве со связью 1:N на ту же таблицу, отвязка nullable-связей и Samples только для чтения
Customers / Customer Profiles / Orders Одиночный выбор с поиском для 1:1 и N:1; заказы клиента используют множественный выбор 1:N
Products / Tags Редакторы M:N с поиском; конкурентные изменения форм вызывают конфликт устаревшего сохранения
Regional prices Составной ключ Region + SKU, проверка чисел и ключевые поля только для чтения после создания
Price alerts Обязательная связь Regional Price одним выбором задаёт Region + SKU; поиск по полному JSON-ключу
Reference rates Таблица только для просмотра, без кнопок создания, сохранения и удаления
Demo accounts Просмотр вымышленных аккаунтов; создание/изменение через сервисы и работа с паролями требуют Python-примера
Массовые действия Выберите товары, откройте Массовые действия, укажите Deactivate products или Удалить выбранные записи, проверьте подтверждение и результат каждой записи
Экспорт данных Выбор обычных или связанных столбцов и CSV всех подходящих записей, включая другие страницы
История действий Примеры событий двух вымышленных пользователей и ваши локальные действия, сравнения «было → стало», Журнал/Таблица, общие фильтры и выбор дня/диапазона UTC
Фильтры списков Фрагменты текста, повторные условия, диапазоны чисел/дат, наборы, SQL NULL, пустой текст и связанные записи; редактирование чипов
Orders Переходы Далее/Назад в стиле cursor pagination, сортировка по столбцам, без точного общего количества
Главная / Навигация Виды Карточки и Список таблиц по группам, закреплённые/недавние таблицы, глобальный поиск и постоянная полоса значков
Схема БД Видимость таблиц, раскрытие полей, промежуточные таблицы M:N, перетаскивание и автокомпоновка

Для одиночной связи используются радиокнопки, для множественной — флажки.
Выбранные записи остаются видны отдельно от результатов поиска; поиск, пагинация,
очистка и удаление из выбора используют тот же компонент, что и Python-приложение.
Изменения сохраняются кнопкой Сохранить изменения вместе с обычными полями записи.

В Price alerts поле Regional Price заполняет оба столбца внешнего ключа одним выбором.
Для точного поиска по составному ключу введите {"region":"US","sku":"NOTE-001"}.
Regional prices показывает обратную связь Alerts; обязательные оповещения отвязать нельзя.

Изменения и последние 200 локальных событий сохраняются в браузере, если разрешён
localStorage. У каждого посетителя своя копия. В пределах одной версии демо обновление
таблиц и метаданных полей сохраняет локальные записи. Новая версия демо начинает
с собственной браузерной копии вымышленных данных.

Что показывает браузер, а что требует сервера

Это самостоятельная JavaScript-демонстрация. Схема, вымышленные данные, правила полей,
метаданные действий и разметка периода экспортируются из адаптера/шаблонов настоящего
примера. CSS и компоненты дат, форм, JSON, boolean, отображения значений, редактирования
ячеек, фильтров, связей, массового выбора и схемы берутся из Python-пакета.
Store фиксированной демо-схемы и транспорт запросов реализованы в JavaScript.

Доступно в браузерном демо Требует настоящего ASGI-приложения
Локальная история «было → стало», фильтры пользователя/дат и оба вида, включая локальные действия записей/массовые действия Постоянное хранилище SQLite/PostgreSQL/MySQL, таблицы quiteadmin_, инициализация и права/скрытие чувствительных данных; Python-пример использует history_level="audit" для событий аутентификации, экспорта и ошибок записи
Переходы в стиле cursor pagination по вымышленным записям Keyset-запросы БД без COUNT/OFFSET и подписанные курсоры со сроком действия
CSV обычных/связанных столбцов с выбором полей, текущими фильтрами и сортировкой XLSX, пакетные запросы связей к БД и серверные ограничения экспорта
Локальные проверки обязательных значений, enum, UUID, числовых границ и ограничений связей; локальный откат и защита от устаревших сохранений Python-parser, Pydantic-схемы, OperationHooks и атомарные записи БД
Метаданные только для просмотра, эффекты действий записи, подтверждение/результаты массовых действий над локальными записями Серверная проверка прав каждого запроса, Python-обработчики действий и транзакции БД
Demo accounts только для чтения Поле пароля только в форме, Pydantic-валидация, create/update-сервисы приложения и хеширование пароля

В браузере не запускаются FastAPI, Litestar, ORM и сервер авторизации. Вход
admin / admin — пример интерфейса. Он не проверяет аутентификацию, CSRF, серверные
права, надёжность аудита или совместимость БД. Настоящие cookies, пароли,
production-секреты и записи приложения не экспортируются. Создавать, изменять и удалять
Demo accounts в браузере нельзя; эти сервисы проверяются в Python-приложении.

Для этих возможностей запустите локальный ASGI-пример и открывайте
таблицы через главную или Найти таблицу. В нём есть те же поля и связи,
настоящие действия записей/массовые действия, сервисные формы, хуки, хранилище истории
и CSV/XLSX. Demo accounts — учебные записи, отдельные от входа в админку.
Настройка и гарантии описаны в разделах хранилища,
конфигурации, сервисов приложения и экспорта.
Редактор raw SQL и конструктор дашбордов пока не реализованы.

Локальная сборка

uv sync --locked
npm ci
npm run docs:build
npm run demo:test
npm run docs:serve

Откройте localhost:8001/demo/. Сборщик всегда создаёт
временную SQLite-базу и случайные временные учётные данные, не подключаясь к БД
пользовательского приложения. Результат находится в build/docs/demo; hash-навигация
работает с префиксом репозитория без серверного fallback. После сборки документации
пересоберите демо: документация заменяет выходную директорию.

Node-тесты проверяют связи/откат, устаревшие сохранения, сохранение истории и включительные
даты, обновление демоданных, составные ключи, локальные права/действия, окна пагинации,
CSV-экранирование, фильтры и компоновку схемы. Python-интеграционные тесты проверяют
контролы, хуки и сервисы аккаунтов примера. Весь браузерный результат входит
в существующий артефакт публикации сайта.