Админка (/admin/)
Главная
- Пустая страница с h1 Админка сделать там кнопку Бекап
Бекап
- Кнопка Бекап делает копирование instance/main.db в yandex object storage (s3 compat) с датой и названием компа
OLD SPEC
Раздел для залогиненного пользователя: главная с бекапом БД, создать пост с обложкой (картинка или видео), кино, рестораны и на локалке — закоммитить и запушить незакоммиченное. В меню сайта (секция «Проекты») — пункт «Админка» со 🔒 справа (как у «Личное»); перед ним — «Ишьюс» (ссылка на GitHub issues репозитория). Внутри админки сайдбар переключается на меню раздела (как у potyk-food).
Сценарии
Открыть админку
Залогиненный открывает /admin/ (или из меню, секция «Проекты») — попадает на главную админки. Без логина — как у других закрытых разделов (на логин).
В меню слева (сайдбар) пункты:
- Создание поста
- Кино — фильмы и коллекции potyk-cinema.
- Рестораны — добавить место в список
/food/rest. - Коммит и пуш — только на локалке; на проде пункта нет.
- Яндекс Метрика — обзор счётчика сайта.
- GitHub — репозиторий potyk-io.
- potyk-io — возврат на главную сайта.
Главная и бекап БД
Зачем: быстро снять копию рабочей БД в облачное хранилище, чтобы не потерять данные с конкретного компа.
Что делает пользователь: открывает главную админки, нажимает «Бекап».
Ожидаемый результат:
- На главной — заголовок «Админка» и кнопка «Бекап».
- По нажатию копия БД уходит в объектное хранилище; в имени файла — дата/время и имя этого компьютера.
- При успехе — понятное сообщение об успехе; при ошибке сети/доступа/отсутствии файла — ошибка, без молчаливого «успеха».
Создание поста
Зачем: с телефона/прода быстро выложить пост в posts с одной обложкой, без ручного редактирования файлов.
Что делает пользователь: в меню выбирает «Создание поста», вводит название и выбирает файл обложки (картинка или видео), отправляет форму.
Ожидаемый результат:
- Файл обложки сохраняется на сайте (доступен по обычному статическому адресу).
- В разделе постов появляется новая markdown-страница: название как заголовок, в свойствах — дата и
coverна сохранённый файл; в теле — то же медиа (картинка markdown’ом или видео-тегом), как у обычных постов. - Пост открывается по своему URL и может попасть в ленту на главной (как другие md-заметки).
- Если название или файл пустые / файл не подходит — пост не создаётся, видно понятную ошибку.
- Если пост с таким адресом уже есть — не перезаписывается молча; ошибка или предложение другое имя (без потери уже лежащего поста).
Кино
Зачем: править фильмы и коллекции potyk-cinema из одной админки, без отдельной ссылки в разделе кино.
Что делает пользователь: в меню выбирает «Кино».
Ожидаемый результат: можно добавлять/править фильмы и коллекции, переносить фильмы между коллекциями (канбан), убирать фильм из коллекции. При добавлении фильма по ссылке Кинопоиска — превью обложки и автоскачивание при сохранении; коллекция обязательна (по умолчанию «Посмотреть позже»). На странице есть ссылка в публичный раздел кино (подборки), чтобы сразу посмотреть результат правок.
Рестораны
Зачем: добавить новое место в список /food/rest из админки.
Что делает пользователь: в меню выбирает «Рестораны», заполняет название, ссылку на карту, метро и теги.
Ожидаемый результат: ресторан появляется в публичном списке. Метро и теги — из уже использованных или новые. На странице есть ссылка к публичному списку ресторанов.
Коммит и пуш (только локалка)
Зачем: после появления на диске новых постов/медиа (с прода или локального создания) зафиксировать их в git и отправить в remote, чтобы репозиторий и синк деплоя не расходились.
Что делает пользователь: в меню выбирает «Коммит и пуш».
Ожидаемый результат:
- Виден список незакоммиченных изменений (новые и изменённые файлы; если нечего коммитить — так и сказано).
- По подтверждению: всё незакоммиченное уходит в один коммит и пушится в remote текущей ветки.
- После успеха список пустой (или страница показывает, что чисто); при ошибке git/сети — сообщение, рабочая копия не «ломается» молча.
- На проде этой страницы / действия нет.