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

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

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

Сообщение demonx »

Короткий опис CMS "EJ CMS"

EJ CMS (Electronic Journal CMS) — це веб-система для ведення електронного журналу, розроблена для шкіл, коледжів та інших навчальних закладів. Вона дозволяє вчителям, адміністраторам і учням ефективно управляти навчальним процесом, включаючи оцінки, уроки, предмети та групи. Система побудована на PHP та MySQL, має простий інтерфейс і підтримує базові функції для організації навчального процесу. EJ CMS легко встановлюється і налаштовується, що робить її зручною для невеликих навчальних закладів.

Детальний функціонал CMS

1. **Ролі користувачів**
CMS підтримує три основні ролі з різними рівнями доступу:
- **Адміністратор (`admin`):**
- Повний доступ до системи.
- Управління користувачами (учнями, вчителями).
- Управління групами, предметами, журналами.
- Доступ до адмінпанелі для перегляду та редагування всіх даних.
- **Вчитель (`teacher`):**
- Доступ до журналів предметів, які веде.
- Можливість додавати уроки, виставляти оцінки учням.
- Перегляд списків учнів у групах.
- **Учень (`student`):**
- Перегляд власних оцінок і предметів.
- Доступ до журналу своєї групи.

#### 2. **Управління групами**
- **Створення груп:**
- Адміністратор може створювати навчальні групи (наприклад, "Група 8", "Група 12").
- **Прив’язка учнів до груп:**
- Під час реєстрації учень обирає групу, до якої належить.
- Групи зберігаються в таблиці `groups` (поля: `id`, `group_name`).

#### 3. **Управління предметами**
- **Створення предметів:**
- Предмети прив’язані до груп через `group_id` (таблиця `subjects`: `id`, `group_id`, `subject_name`).
- Адміністратор або вчитель може створювати предмети для кожної групи.
- **Перегляд предметів:**
- Учні бачать список предметів своєї групи (`student_journal.php`).
- Вчителі можуть переглядати журнали предметів (`subject_journal.php`).

#### 4. **Управління уроками**
- **Додавання уроків:**
- Вчитель може додати урок для предмету через `subject_journal.php`:
- Вказує дату уроку (`lesson_date`) і тему (`topic`).
- Уроки зберігаються в таблиці `lessons` (`id`, `subject_id`, `lesson_date`, `topic`).
- **Видалення уроків:**
- Вчитель може видалити урок, що автоматично видаляє пов’язані оцінки (з таблиці `grades`).
- **Відображення уроків:**
- Уроки відображаються в журналі предмету як колонки з датою і темою.

#### 5. **Управління оцінками**
- **Виставлення оцінок:**
- Вчитель може виставляти оцінки (1-12) для кожного учня за кожен урок через `subject_journal.php`.
- Оцінки зберігаються в таблиці `grades` (`id`, `student_id`, `subject_id`, `lesson_id`, `grade`).
- Використовується AJAX-запит до `update_grades.php` для збереження змін.
- **Перегляд оцінок:**
- Учні бачать свої оцінки в `student_journal.php` у вигляді таблиці з датами уроків, темами та оцінками.
- Якщо оцінок немає, відображається повідомлення: "Вибачте, оцінки ще не виставлені."

#### 6. **Журнали**
- **Групові журнали:**
- Вчитель або адміністратор може переглядати журнал групи через `view_journal.php` (посилання "Назад до журналу").
- Журнал показує предмети, прив’язані до групи.
- **Журнали предметів:**
- `subject_journal.php` дозволяє вчителю переглядати учнів, уроки та оцінки для конкретного предмету.
- Відображається таблиця з оцінками, де кожен стовпець — це урок, а кожен рядок — учень.

#### 7. **Адмінпанель**
- **Управління користувачами:**
- Адміністратор може переглядати та редагувати учнів (`admin_students.php`) і вчителів (`admin_teachers.php`).
- **Дашборд:**
- `dashboard.php` дає огляд системи: групи, предмети, користувачі.
- **Система:**
- `admin_system.php` (згадане в меню) дозволяє налаштування системи (наприклад, логування, конфігурація).

#### 8. **Реєстрація та активація**
- **Реєстрація:**
- Учні та вчителі можуть зареєструватися через форми (наприклад, `register.php`, `register_student.php`).
- Під час реєстрації учень обирає групу (`group_id`).
- **Активація:**
- Після реєстрації користувач отримує код активації (`activation_code`) і має активувати акаунт через `activate.php`.

#### 9. **Зовнішній вигляд**
- **Стилі:**
- Використовується єдиний CSS-файл `/assets/css/style.css` для всіх сторінок.
- Сторінки мають однаковий дизайн: синє меню (`navbar`), білий контейнер (`container`) із тінню, таблиці для оцінок.
- **Адаптивність:**
- Сторінки адаптовані для зручного перегляду, із відступами та чіткими таблицями.

#### 10. **Безпека**
- Використовуються підготовлені запити (`prepare`) для захисту від SQL-ін’єкцій.
- Паролі хешуються за допомогою `password_hash`.
- HTML-вивід екранується через `htmlspecialchars` для захисту від XSS.

#### 11. **Логування**
- Додані логи (`error_log`) для дебагування (наприклад, `$group_id`, кількість рядків у запитах).
- Логи пишуться у файл, визначений у `db_connect.php` (наприклад, `/var/log/brainyservice/ej_errors.log`).

#### 12. **Відомі проблеми**
- `student_journal.php` може не відображати предмети, якщо `$group_id` не збігається з предметами (планується виправлення у версії 2.0).

Як використовувати CMS

1. **Адміністратор:**
- Реєструє вчителів і учнів, створює групи та предмети через адмінпанель.
- Налаштовує систему (наприклад, додає журнали).
2. **Вчитель:**
- Веде журнал предмету: додає уроки, виставляє оцінки.
3. **Учень:**
- Переглядає свої оцінки за предметами.

Інсталяція
► Показать
Адмінпанель
► Показать
Як бачить учень
► Показать
CMS платна. 5000 грн.

з питань купівлі писати на
Скрытый текст
Для просмотра скрытого текста необходимо быть авторизованным пользователем.