CMS Electronic Journal CMS (v 3.0) Електронний журнал для навчальних закладів

«Електронний журнал» — це PHP-додаток з ролевою моделлю (student / teacher / admin), що зберігає: групи та їх порядок відображення, предмети, закріплені за групами й викладачами, уроки (дати, теми), оцінки по уроках, користувачів (активація e-mail, відновлення паролю, логін-лог). Інтерфейс поділений на загальні сторінки (логін/реєстрація/активація), зону «Журнали» (груповий/предметний/студентський перегляд) та адмінку (користувачі, вчителі, системні задачі, логи, дампи БД). Функціональні модулі 1) Авторизація, реєстрація, безпека Логін/логаут (сесії, хешування паролів). E-mail активація акаунта (активаційний код). Відновлення паролю (reset_token + дедлайн). Обмеження доступу за ролями (admin/teacher/student). Базовий CSRF у деяких форм-кроках (реєстрація/верифікація). 2) Управління користувачами (адмін) Перелік/редагування/видалення користувачів. Прив’язка студентів до груп. Окрема вкладка для вчителів (створення, редагування, керування правами). Ведення логів адмін-операцій у admin_logs (хто що зробив і коли). 3) Групи, предмети, уроки Створення «журналів» для груп (фактично — контейнер для предметів і уроків). Ручне сортування груп/журналів через order_position (збереження нового порядку). Додавання предметів до груп і закріплення за викладачем. Планування/створення уроків: дата + тема уроку. 4) Оцінювання Внесення оцінок по конкретному уроку або по студенту. Масове оновлення оцінок через AJAX-ендпойнт update_grades.php. Перегляд оцінок: по групі/предмету (вчитель/адмін), персональний «кабінет студента» зі своїми оцінками (роль student). 5) Пошта PHPMailer: надсилання активацій, службових листів (SMTP-налаштунки у config_mail.php). Можливість повторного надсилання активаційного листа з адмінки. 6) Експорт/документи Домашня інтеграція Dompdf — експорт потрібних звітів/журналів у PDF (підключено, готово до використання у відповідних контролерах). 7) Системні інструменти (адмін) Резервні копії: створення дампів БД у /backups/. «Секретне слово викладача» в settings — механіка самододавання або швидкої верифікації викладачем себе в системі. Перегляд системних логів дій (admin_logs) як мінімальний аудит змін (створення/видалення журналів, зміна порядку, тощо). Що ми додали/доробили (по суті змін і артефактів у файлах/БД) Рольова модель і доступи, відстеження активності Уточнили ролі student/teacher/admin. Додали таймстемпи last_login_at, IP входу; окремо згадувалось логування «останнього перегляду оцінок» для студентів (колонка last_grades_view_at у твоїх коментарях — це доробок, який ми інтегрували у код і логіку журналу). Активація та відновлення Повна email-верифікація з активаційним кодом. Відновлення паролю через reset_token + reset_expires. Захист від зловживань (ліміти/кулдауни при верифікації). Групи та порядок відображення Поле order_position у groups, сценарій drag-sort (у адмінці «Журнали/Групи») і збереження нового порядку. Ведення логу кожної перестановки / створення / видалення журналу в admin_logs. Журнали, предмети, уроки Прив’язка предметів (subjects) до груп і викладачів; метаполя для швидкого введення тем/дат уроків. Менеджмент уроків (lessons) з темою і датою. Оцінки Масові оновлення оцінок через journal/update_grades.php. Сторінка предметного журналу (subject_journal.php) з матрицею «студенти × уроки». Персональна сторінка студента (student_journal.php) з переглядом своїх оцінок — і оновлення полів «останнього перегляду». Пошта Налаштування SMTP у includes/config_mail.php. Повторне відправлення листів активації з адмін-панелі. Резервні копії і «System» Кнопки/скрипти для створення дампів БД у /backups/. Логи подій: створення дампу, відкриття системних розділів, зміна секретного слова й інші адмін-дії. PDF-експорт Підключено Dompdf у /includes/dompdf/ — підготовлено для вивантаження таблиць журналів (табелі/звітність). Верстка основних екранів під мобайл (адаптивні таблиці, компактні форми). Хто що бачить (ролі) Student: логін, перегляд власних оцінок, профіль. Teacher: свої групи/предмети, уроки, внесення/редагування оцінок, перегляди журналів. Admin: усе вище + адмінка: користувачі/вчителі, групи/журнали, логи, резервні копії, системні налаштування (у т.ч. «секретне слово викладача»). Типові сценарії Адмін створює групу(и), задає порядок, створює предмети, призначає викладачів. Викладач створює уроки (дата, тема) → виставляє оцінки (масово або точково). Студент входить і дивиться свої оцінки (відмічаємо «останній перегляд»). Потрібен друк/звіт — експорт у PDF. Адмін за потреби робить резервну копію БД, відслідковує логи дій.
Скріншот Скріншот Скріншот Скріншот Скріншот Скріншот Скріншот Скріншот Скріншот Скріншот