Веб-приложение для организации учебного процесса по программированию.
- Python
- Django
- MySQL
- Django ORM
- Jinja2
- HTML
- CSS
- REST API
- Регистрация новых пользователей.
- Авторизация в системе.
- Защита страниц от неавторизованных пользователей.
- Автоматическое перенаправление неавторизованных пользователей на страницу авторизации.
- Верификация новых пользователей администратором.
- Отображение статуса регистрации при отклонении верификации.
После авторизации пользователь получает доступ к персональному кабинету.
Основные возможности:
- просмотр профиля;
- редактирование личной информации;
- обновление данных аккаунта;
- отображение персональной информации;
- система достижений за выполнение определенных действий;
- интерактивные подсказки при наведении на элементы интерфейса.
В приложении реализована система уведомлений:
- получение уведомлений о событиях;
- просмотр списка уведомлений;
- отметка уведомлений как прочитанных;
- визуальное отображение непрочитанных уведомлений.
Пользователи могут получать достижения за различные действия в системе.
На отдельной странице отображается:
- список полученных достижений;
- доступные достижения;
- описание условий их получения;
- прогресс пользователя.
Например, заполнение личной информации в профиле может автоматически открыть соответствующее достижение.
На главной странице пользователям доступны публикации с учебной и организационной информацией.
Возможности:
- просмотр списка публикаций;
- переход к подробной странице публикации;
- отслеживание количества просмотров;
- просмотр учебного контента.
Для каждого пользователя учитывается только первый просмотр конкретной публикации, поэтому один пользователь не может искусственно увеличить счетчик повторными открытиями.
Платформа позволяет студентам выполнять различные типы заданий.
Поддерживаются:
- задания с текстовым ответом;
- задания с программным кодом;
- отправка решения на проверку;
- просмотр отправленного решения;
- подсветка синтаксиса программного кода.
Таким образом, приложение позволяет использовать платформу не только для размещения материалов, но и для практической проверки знаний студентов.
В системе предусмотрена рейтинговая таблица студентов.
Администратор может:
- просматривать рейтинг;
- работать с группами студентов;
- начислять студентам баллы;
- отслеживать результаты обучения.
Рейтинг позволяет сравнивать результаты студентов и использовать накопленные баллы для оценки их активности и успеваемости.
Пользователям доступна отдельная страница с полезными образовательными ресурсами.
Для администратора доступны дополнительные инструменты управления:
- создание новых ссылок;
- редактирование существующих ссылок;
- управление содержимым раздела.
Студенты могут отправлять анонимную обратную связь преподавателям.
Администратор получает возможность:
- просматривать поступившие сообщения;
- отслеживать новые обращения;
- отмечать сообщения как прочитанные.
Анонимность позволяет студентам свободно оставлять отзывы и предложения.
Пользователи с правами администратора получают расширенный доступ к системе.
В зависимости от типа сущности администратору доступны действия:
- создание новых записей;
- редактирование существующих записей;
- управление пользователями;
- подтверждение регистрации студентов;
- управление полезными ссылками;
- просмотр обратной связи;
- управление учебными данными;
- начисление баллов студентам.
Обычные студенты не видят административные элементы интерфейса и не имеют доступа к соответствующим функциям.
В приложении реализована система сопровождения студенческих проектов с несколькими этапами разработки.
На начальном этапе студент:
- указывает тему проекта;
- прикрепляет ссылку на документ с описанием проекта;
- отправляет проект на рассмотрение;
- ожидает утверждения.
Такой подход позволяет отслеживать жизненный цикл проекта и организовать взаимодействие между студентом и администрацией.
Чтобы пользоваться системой, нужно быть авторизованным в системе. Разграничение доступа происходит по следующим ролям:
| Роль | Доступ |
|---|---|
| Студент | Данные своей группы |
| Преподаватель | Все группы студентов, может производить все операции с событиями, задачами, тестированию, выдачей достижений |
| Администратор | Полный доступ ко всей базе данных |
Скриншот админ панели:
При входе в веб-приложение попадаем на страницу авторизации. Все незарегистрированные пользователи, переходя на любую существующую страницу, перенаправляются на страницу авторизации, если это не страница регистрации.
Страница регистрации:
Сразу зарегистрируем студента и войдем в систему. Необходима верификация аккаунта администратора.
Зайдем за администратора и подтвердим пользователя. Для этого нужно просто удалить запись из БД. Но сначала отклоним регистрацию пользователя, чтобы посмотреть, что он увидит.
Запись в БД о необходимости верифицировать нового пользователя:
У пользователя отображается страница отклонения верификации:
Удалим эту запись из БД и пользователь сможет пользоваться веб-приложением.
Страница пользователя:
Наводясь на определенные элемент можно получать подсказки:
Рис. 6.8. Страница редактирования аккаунта:
Обновленная информация отобразилась на странице профиля. Мы получили достижение за то, что заполнили о себе личную информацию У нас появилось несколько уведомлений. Перейдем на страницу уведомлений и посмотрим, что там нам пришло.
Страница с уведомлениями:
Несколько уведомлений отмечены как прочитанные перейдем на страницу с достижениями. Тут их еще много.
Страница с достижениями:
Страница с полезными ссылками за студента:
Страница с полезными ссылками за администратора
Администратору показываются дополнительные кнопки, которые ведут на страницы панели администратора,
где можно работать с данными. По кнопке (+) осуществляется переход на страницу создания сущности,
а по кнопке (edit) осуществляется переход на редактирование сущности.
Нажмем на кнопку редактирования у одной из ссылок.
Страница с редактированием ссылки Можно оставлять анонимную обратную связь для преподавателей.
Страница обратной связи:
За администратора можно просматривать обратную связь и помечать ее как прочитанную:
Главная страница у студента. У каждого поста есть просмотры. Просмотром поста считается его первое получение пользователем. Каждый пользователь может добавить лишь один просмотр к посту.
Главная страница у администратора:
Страница детализации поста:
Страница задачи с текстовым вариантом ответа:
Страница задачи, где нужно прикрепить код программы:
Страница задачи с отправленным кодом на проверку. Синтаксис кода подсвечивается. Добавим еще пару студентов и начислим им баллы. Теперь можно просматривать таблицу рейтинга:
Страница рейтинга у администратора (у студента нет выборки группы). Так же можно и работать с проектом: у него есть несколько стадий разработки. Изначально нужно вписать тему и прикрепить ссылку на документ с его описанием, а дальше ждать его утверждения.
Страница проекта:

























