Функциональность системы

Для студентов

Мои курсы

📚 Список всех курсов

  • Отображаются курсы, на которые студент записан

  • Красивые карточки с описанием и статусом

  • Быстрый доступ к заданиям

Домашние задания

📝 Управление заданиями

  • Список заданий по каждому курсу

  • Срок сдачи для каждого задания

  • Статусы: «Не сдано» / «Сдано» / «Оценено»

  • Детальное описание задания

Отправка работ

📤 Сдача решений

  • Загрузка файлов с решениями (PDF, ZIP, DOCX и др.)

  • Возможность пересдачи (новый файл заменяет старый)

  • Подтверждение успешной отправки

Просмотр результатов

Оценки и обратная связь

  • Оценки от преподавателя

  • Текстовые отзывы и рекомендации

  • Таблица оценок по всем курсам

  • История всех отправок

Для преподавателей

Управление курсами

CRUD операции

  • Создание новых курсов через удобный веб-интерфейс

  • Редактирование названия и описания

  • Удаление неактуальных курсов

  • Запись студентов на курс (через интерфейс)

Создание заданий

📝 Домашние задания

  • Создание заданий в рамках курса

  • Установка сроков сдачи

  • Редактирование описания заданий

  • Удаление заданий

Проверка работ

📥 Оценивание студентов

  • Просмотр всех отправленных работ

  • Скачивание файлов для проверки

  • Выставление оценок (числовая оценка)

  • Написание текстовых отзывов

  • Фильтрация: «Все» / «Непроверенные» / «Проверенные»

Статистика и отчеты

📊 Аналитика

  • Количество сданных работ по каждому заданию

  • Список студентов на курсе

  • Статус проверки работ

Для администраторов

Полное управление системой

🛠️ Админ-панель Django

  • Полный доступ к админ-панели Django

  • Создание и управление пользователями

  • Назначение ролей (Студент / Преподаватель)

  • Управление всеми курсами и заданиями

  • Просмотр всех отправок в системе

Безопасность

Разграничение доступа

Действие

Студент

Преподаватель

Администратор

Просмотр своих курсов

Просмотр чужих курсов

Сдача работ

Просмотр чужих работ

❌ (только свои курсы)

Создание курсов

Запись студентов

✅ (свои курсы)

Проверка работ

✅ (свои курсы)

Доступ в /admin

Защита данных

🔐 Механизмы безопасности

  • Аутентификация: Все защищенные страницы требуют входа

  • Авторизация: Каждый видит только свои данные

  • Защита от атак: SQL-инъекции, XSS, CSRF блокируются Django

  • Изоляция: Студент А не может видеть работы студента Б

  • Изоляция курсов: Преподаватель А не может управлять курсами преподавателя Б

Статусы и индикаторы

Статусы домашних заданий (для студента)

Статус

Описание

Цвет

🔴 Не сдано

Работа еще не загружена

Красный

🟡 Сдано

Работа загружена, ждет проверки

Желтый

🟢 Оценено

Работа проверена, есть оценка

Зеленый

Фильтры работ (для преподавателя)

Фильтр

Описание

Все работы

Показать все отправки

Непроверенные

Работы без оценки (требуют проверки)

Проверенные

Работы с оценкой

Поддерживаемые форматы файлов

Загружаемые файлы

Поддерживаемые форматы:

  • 📄 PDF (.pdf)

  • 📦 Архивы (.zip, .rar, .7z)

  • 📝 Документы (.doc, .docx, .txt)

  • 📊 Таблицы (.xls, .xlsx)

  • 🖼️ Изображения (.jpg, .png, .gif)

  • 💻 Код (.py, .java, .cpp, и др.)

Ограничения:

  • Максимальный размер файла определяется настройками Django

  • Один файл на одно задание (новая загрузка заменяет старую)

Известные ограничения MVP

Текущая версия является MVP (Minimum Viable Product)

Что НЕ реализовано

(может быть добавлено в будущем):

  • ❌ Восстановление пароля

  • ❌ Email-уведомления о новых заданиях/оценках

  • ❌ Групповые работы (несколько студентов на одно задание)

  • ❌ Автоматическая проверка кода (автотесты)

  • ❌ Экспорт оценок в Excel/CSV

  • ❌ Статистика и аналитика (графики прогресса)

  • ❌ Комментарии к конкретным строкам кода

  • ❌ Интеграция с LMS (Moodle, Canvas)

Что ЕСТЬ сейчас

  • ✅ Полный цикл: создание курсов → задания → сдача → проверка → оценки

  • ✅ Разграничение прав (студент/преподаватель/администратор)

  • ✅ Удобный веб-интерфейс

  • ✅ Адаптивный дизайн

  • ✅ Безопасность данных