← Вход в админ-панель
# Руководство администратора
Краткая инструкция: как войти на сайт и редактировать контент разделов (новости, мероприятия, календарь и т.д.).
---
## 1. Запуск сайта
```bash
npm install
npm start
```
Сайт откроется по адресу: **http://localhost:3000**
При первом запуске в консоли выводится пароль администратора (если не задан `ADMIN_PASSWORD` в файле `.env`).
---
## 2. Вход в систему
1. Откройте **http://localhost:3000/admin.html** (ссылка «Для разработчиков» в подвале сайта).
2. Введите логин и пароль:
- **Логин по умолчанию:** `admin`
- **Пароль:** из консоли при первом запуске или из `.env` (`ADMIN_PASSWORD`)
3. Нажмите **«Войти»**.
После успешного входа откроется главная страница. Сессия сохраняется до закрытия вкладки браузера.
---
## 3. Режим редактирования
После входа на **любой странице с контентом** (новости, мероприятия, календарь, книги и др.) внизу экрана появляется панель:
| Элемент | Действие |
|---------|----------|
| **Добавить контент** | Создать новую запись |
| **Редактировать страницу** | Правка текста на самой странице (как в WordPress, упрощённо) |
| **Редакторы** | Управление учётными записями редакторов *(только администратор)* |
| **Выйти** | Завершить сессию |
На карточках материалов появляются кнопки:
| Кнопка | Действие |
|--------|----------|
| Карандаш | Редактировать запись |
| Глаз / перечёркнутый глаз | Скрыть или показать материал |
| Корзина | Удалить *(только администратор)* |
---
## 4. Редактирование страниц (тексты сайта)
Упрощённый режим, похожий на WordPress: правка **готовых блоков** на странице без полноценной CMS.
1. Войдите как администратор или редактор.
2. Откройте нужную страницу (главная, «О проекте», новости и т.д.).
3. На нижней панели нажмите **«Редактировать страницу»**.
4. Блоки с текстом подсветятся пунктирной рамкой — нажмите на кнопку с названием блока.
5. Измените текст в редакторе и нажмите **«Сохранить»**.
### Какие блоки можно править
| Блок | Где отображается |
|------|------------------|
| Название сайта | Шапка всех страниц |
| Описание в подвале | Подвал всех страниц |
| Контакты и режим работы | Главная, «О проекте» |
| Профессиональное сообщество (QR) | Главная, «О проекте» |
| О проекте: описание и цель | Страница «О проекте» |
| Задачи проекта | Страница «О проекте» |
| Документ для скачивания | Страница «О проекте» |
| Описание раздела | Страница каждого раздела (новости, книги…) |
Общие блоки (`контакты`, `подвал`, `QR`) меняются **сразу на всех страницах**, где они используются.
### Что пока не редактируется через панель
- Слайдеры (картинки) — замена файлов в `public/images/slider/` и `public/images/about/`
- Меню и структура сайта
- Стили оформления (`public/css/`)
---
## 5. Добавление материала
1. Перейдите в нужный раздел (например, **Новости**).
2. Нажмите **«Добавить контент»** на нижней панели.
3. Заполните форму:
- **Тема** — заголовок (обязательно)
- **Разделы** — отметьте один или несколько: новость, мероприятие, образовательная / инновационная деятельность, книга, ссылка, методическая разработка
- **Дата** — для разделов, где она нужна
- **Добавить в календарь** — для новостей и мероприятий (по желанию)
- **Ссылка** — внешний URL
- **Изображение** — URL картинки (можно `/uploads/...` после загрузки файла)
- **Описание** — текст в редакторе (обязательно)
- **Файлы** — прикрепить PDF, DOC и др. (до 10 МБ)
4. Нажмите **«Сохранить»**.
---
## 6. Редактирование существующего материала
1. Откройте раздел с нужной записью.
2. Нажмите **карандаш** на карточке.
3. Измените поля в модальном окне.
4. Нажмите **«Сохранить»**.
Окно можно **свернуть** (кнопка «−») и продолжить работу на странице — черновик сохраняется до закрытия вкладки.
---
## 7. Скрытие и удаление
- **Скрыть** — материал не виден посетителям, но остаётся в базе. Редактор может скрывать; **раскрыть** скрытое может только администратор.
- **Удалить** — запись и связанные загруженные файлы удаляются безвозвратно. Доступно только администратору.
---
## 8. Календарь событий
- События календаря создаются через **«Добавить контент»** (раздел «календарь») или вместе с новостью/мероприятием (галочка «Добавить в календарь»).
- На странице **Календарь событий** администратор может редактировать, скрывать и удалять события прямо в ячейках календаря.
---
## 9. Роли
| Роль | Возможности |
|------|-------------|
| **Администратор** | Всё: добавление, правка, скрытие, удаление, управление редакторами |
| **Редактор** | Добавление и правка, скрытие *(не может удалять и раскрывать скрытое)* |
---
## 10. Загрузка файлов
- Файлы сохраняются в `public/uploads/`.
- Допустимые форматы: PDF, DOC/DOCX, XLS/XLSX, PPT/PPTX, изображения, ZIP, TXT и др.
- Максимальный размер одного файла: **10 МБ**.
---
## 11. Частые проблемы
| Проблема | Решение |
|----------|---------|
| Нет панели внизу | Войдите снова через `admin.html` |
| «Токен недействителен» | Нажмите **«Выйти»** и войдите заново (сессия истекла через 24 ч) |
| Слишком много попыток входа | Подождите 15 минут или перезапустите сервер в режиме разработки |
| Изменения не видны | Обновите страницу (**Ctrl+F5**) |
---
## 12. Полезные адреса
| Страница | URL |
|----------|-----|
| Главная | http://localhost:3000/ |
| Вход | http://localhost:3000/admin.html |
| Новости | http://localhost:3000/news.html |
| Календарь | http://localhost:3000/calendar.html |
Подробнее о установке и переменных окружения — в файле **README.md**.