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

Аватара пользователя
demonx
Администратор
Сообщения: 591
Зарегистрирован: 27 май 2022, 21:33
Откуда: Ірпінь
Контактная информация:

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

Сообщение demonx »

«Електронний журнал» — це 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.
    Адмін за потреби робить резервну копію БД, відслідковує логи дій.
► Показать
Адмін панель
► Показать
Учень
► Показать
Для запуска інсталяції треба перейти за адресою https://ваш домен/install.php
Вложения
CMS EJ 3.zip
(4.35 МБ) 63 скачивания