- Add UPLOAD_FILE_LIMIT_MB/UPLOAD_TOTAL_LIMIT_MB env (defaults 50/200), compute request timeout from total limit or UPLOAD_REQUEST_TIMEOUT_MS - Expose upload limits via /api/public-settings and sync in frontend (remove hardcoded 50MB assumption) - Add byte-range support in storage (getRange/streamRangeTo) and serve Content-Range/Accept-Ranges for S3/local - Implement inline playable video delivery for browser formats (mp4/m4v/webm/ogv) with ?play=1, range requests, proper 206/416 - Add video modal in journal UI with player and download fallback - Update docs (AGENTS.md/PRD.md/README.md), styles for video modal, add instructions/TODO.md and screenshots - Extend MIME types for media
7.8 KiB
7.8 KiB
TODO — Инструкция по системе WhatIDo (со скриншотами)
Статус: ☐ todo · ☑ готово · ◐ в работе
Цель: папка instructions/ с полной русскоязычной инструкцией для администратора/преподавателя,
каждый раздел проиллюстрирован реальными скриншотами живого стенда (стенд поднят,
в БД 358 записей, 151 ученик, 22 группы, 72 модуля, 35 ссылок — данные реальные, не моки).
Часть 0. Подготовка
- 0.1 Поднять стенд:
docker compose ps— app наhttp://localhost:3003 - 0.2 Проверить доступность
GET /→ 200,GET /api/public-settings→system_name=KIBERone - 0.3 Получить учётку админа (
admin/ADMIN_PASSWORD),POST /api/auth/login→ токен - 0.4 Инвентаризация всех страниц
public/*.html(меню, ID, русские подписи, роли) - 0.5 Снять инвентарь данных в БД, чтобы скриншоты были непустыми
- 0.6 Создать папку
instructions/и этот TODO
Часть 1. Публичная часть — то, что видит ученик
- 1.1
index.html— форма «Что мы узнали на занятии»: общий вид, шапка, футер - 1.2 Блок «Фото»: превью, кнопка «Камера», модалка камеры (снять/отмена)
- 1.3 Блок «Файлы проекта»: выбор, вставка из буфера, список с размерами, очистка
- 1.4 Блок полей: ФИО, Группа, Тема модуля, «Что сделал» (+ автодополнение)
- 1.5 Кнопка «Отправить» + панель успеха
#sentPanelс таймером антиспама - 1.6 Ошибки/повторная отправка, тосты
Часть 2. Вход и оболочка админки
- 2.1
login.html— форма входа (логин, пароль, honeypot, ошибки) - 2.2
admin.js— сайдбар: логотип, user-box, две группы меню, версия - 2.3 Выпадающий список уведомлений в сайдбаре + бейдж
Часть 3. Разделы по порядку (основное → администрирование)
- 3.1 Дашборд — плитки статистики, динамика за 14 дней, последние записи, активные группы, топ учеников, быстрые действия
- 3.2 Журнал — фильтры, список/карточки, пагинация, карточка записи
- 3.3 Журнал — модалка «Редактирование записи» (+
✨ИИ-исправление,ИИ предлагает вариант) - 3.4 Журнал — «Улучшение фото»: сравнение до/после, слайдеры, режимы ИИ, история версий
- 3.5 Журнал — модалка «Создать ссылку»
- 3.6 Ученики — список, фильтры, пагинация, кнопки действий
- 3.7 Ученики — пакетное добавление, прикрепление к группе
- 3.8 Ученики — «Данные профиля» (все поля отчёта)
- 3.9 Ученики — «Экспорт отчёта» (ZIP)
- 3.10 Группы — карточки, расписание, филиал/тутор
- 3.11 Группы — галерея фото группы (загрузка, обложка, порядок, правка)
- 3.12 Группы — «Архив файлов группы» (ZIP-выгрузка)
- 3.13 Фото — все фото, фильтры по источнику, карточки
- 3.14 Файлы — прикреплённые / откреплённые
- 3.15 Ссылки — список share-ссылок, бейджи, создание
- 3.16 Корзина — восстановление, «помеченные на удаление»
- 3.17 Темы модулей — список, модалка модуля, пакетное добавление
- 3.18 Филиалы — CRUD
- 3.19 Пользователи — таблица, модалка, мультивыбор филиалов
- 3.20 Воркер ИИ — статус, очередь, последние проверки, фото-задания, ошибки
- 3.21 Аудит — таблица действий, модалка «Детали действия» с диффом
- 3.22 Блокировки — таблица IP, модалка ручного бана
- 3.23 Уведомления — полная история, фильтр, «прочитать все», «очистить всё»
- 3.24 Настройки — 13 секций (система, стек, брендинг, антиспам, ссылки, футер, фото, фото-ИИ, уведомления, ИИ, бэкапы, корзина, блокировки)
Часть 4. Публичные страницы по ссылкам
- 4.1
share.html(/s/<token>) — карточки записей, фото группы, cookie-баннер, лайтбокс - 4.2
share.html— защита паролем#passwordModal - 4.3
report.html(/r/<token>) — публичный отчёт: hero, «Обо мне», хроника, работы, файлы, фото, контакты - 4.4
error.html— страница ошибки 404
Часть 5. Сборка инструкции
- 5.1 Скриншоты →
instructions/img/с нумерацией - 5.2
instructions/README.md— оглавление, роли, вход, быстрый старт - 5.3 Постраничные файлы инструкции
01-……05-…с вставленными картинками - 5.4
instructions/CHEATSHEET.md— краткая шпаргалка + горячие клавиши/API - 5.5 Проверка: все ссылки на изображения существуют, нет битых
.md
Итог
| Артефакт | Описание |
|---|---|
instructions/README.md |
Оглавление + обзор системы + порядок работы |
instructions/01-public-form.md |
Публичная форма ученика (пошагово) |
instructions/02-login-shell.md |
Вход, сайдбар, уведомления |
instructions/03-dashboard.md |
Дашборд |
instructions/04-journal.md |
Журнал: фильтры, редактирование, фото-ИИ, ссылки |
instructions/05-students.md |
Ученики: профили, группы, экспорт |
instructions/06-groups-photos-files.md |
Группы, Фото, Файлы |
instructions/07-links-trash.md |
Ссылки, Корзина |
instructions/08-admin-sections.md |
Модули, Филиалы, Пользователи, Блокировки |
instructions/09-worker-audit-notifications.md |
Воркер ИИ, Аудит, Уведомления |
instructions/10-settings.md |
Настройки: все 13 секций |
instructions/11-share-report-pages.md |
Публичные /s/ и /r/ страницы |
instructions/CHEATSHEET.md |
Шпаргалка |
instructions/img/*.png |
Скриншоты |