Функциональность системы
Для студентов
Мои курсы
📚 Список всех курсов
Отображаются курсы, на которые студент записан
Красивые карточки с описанием и статусом
Быстрый доступ к заданиям
Домашние задания
📝 Управление заданиями
Список заданий по каждому курсу
Срок сдачи для каждого задания
Статусы: «Не сдано» / «Сдано» / «Оценено»
Детальное описание задания
Отправка работ
📤 Сдача решений
Загрузка файлов с решениями (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)
Что ЕСТЬ сейчас
✅ Полный цикл: создание курсов → задания → сдача → проверка → оценки
✅ Разграничение прав (студент/преподаватель/администратор)
✅ Удобный веб-интерфейс
✅ Адаптивный дизайн
✅ Безопасность данных