Files
kspguti-schedule/.env.production.example
kilyabin e5262f8203 feat: добавлена админ-панель и главная страница с навигацией по курсам
Основные изменения:

Админ-панель:
- Создана защищенная паролем админ-панель по пути /admin
- Реализована система авторизации с сессионными куками
- Добавлен CRUD для управления группами (создание, редактирование, удаление)
- Добавлено поле "курс" (1-5) для каждой группы с возможностью редактирования

Структура данных:
- Миграция групп из TypeScript файла в JSON формат (groups.json)
- Обновлена структура данных: добавлено поле course
- Реализована автоматическая миграция старых данных в новый формат
- Создан groups-loader для работы с JSON файлом

Главная страница:
- Создана главная страница с аккордеоном по курсам (1-5)
- Группы сгруппированы по курсам для удобной навигации
- Добавлены кнопки: "Добавить группу", переключение темы и GitHub
- Убрана верхняя навигация с главной страницы

Навигация:
- Добавлена кнопка "К группам" в начало навигации на страницах расписания
- На мобильных устройствах скрыты кнопки групп, оставлена только кнопка возврата
- Улучшена адаптивность навигации

Технические улучшения:
- Исправлена проблема с tailwind-scrollbar-hide (заменен плагин на CSS класс)
- Обновлены все компоненты для работы с новой структурой данных групп
- Добавлена поддержка переменных окружения ADMIN_PASSWORD и ADMIN_SESSION_SECRET
2025-11-23 00:58:58 +04:00

36 lines
1.1 KiB
Plaintext

# Production environment variables for KSPGUTI Schedule
# Site URL - used for canonical links and sitemap (optional, defaults to https://schedule.itlxrd.space)
NEXT_PUBLIC_SITE_URL=https://schedule.itlxrd.space
# Proxy URL for schedule parsing (optional, defaults to https://lk.ks.psuti.ru)
PROXY_URL=https://lk.ks.psuti.ru
# Telegram Bot API token for parsing failure notifications (optional)
# Get token from @BotFather on Telegram
PARSING_FAILURE_NOTIFICATIONS_TELEGRAM_BOTAPI_TOKEN=
# Telegram Chat ID for receiving notifications (optional)
# You can get your chat ID by messaging @userinfobot on Telegram
PARSING_FAILURE_NOTIFICATIONS_TELEGRAM_CHAT_ID=
# Node.js environment
NODE_ENV=production
# Disable Next.js telemetry
NEXT_TELEMETRY_DISABLED=1
# Server port (default: 3000)
PORT=3000
# Server hostname (default: 0.0.0.0)
HOSTNAME=0.0.0.0
# Admin panel password (required for /admin access)
ADMIN_PASSWORD=your-secure-password-here
# Admin session secret (optional, auto-generated if not set)
# Used for signing session cookies
ADMIN_SESSION_SECRET=your-session-secret-here