Skip to content

xtern0o/edu_boost_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

131 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EduBoost

Описание проекта

Данный проект представляет собой систему для ведения образовательной деятельности в группе. Пользователи вступают в группу и получают возможность решать тесты от учителей, которые они могут составить сами или взять готовый. Для учителя будет предоставляться статистика решения составленного теста. Управление позволит переключаться пользователю между группами, что позволит не создавать несколько аккаунтов. Особенностью является чат, в котором и появляются задания.

Установка

git clone https://github.com/xtern0o/edu_boost_project
pip install -r edu_boost_project/requirements.txt

profit

Техническое задание

  1. Создать базу данных на основе ORM sqlalchemy с таблицами: USERS, GROUPS, USERS_TO_GROUP, MESSAGES, WORKS, WORKS_RESULTS
  2. Создание REST-API для моделей GROUPS, WORKS, WORKS_RESULTS
  3. /register Регистрация пользователей в системе (ученик/учитель)
  4. /profile/<int:user_id> Просмотр профилей пользователей и изменение своего
  5. /profile редирект на пункт 4
  6. /chat По сути основная страница с возможностью взаимодействовать со всеми группами
  7. /works Для ученика: Список тестов к выполнению. Для учителя: Статистика по всем тестам
  8. /works/<int:work_id> Для учителя: Статистика выполнения теста учениками. Для ученика: Меню теста (возможность начать прохождение)
  9. /works/completing/<int:work_id> Прохождение теста для учеников
  10. /works/results/<int:work_id> Результат прохождения теста учеником
  11. /works/creating Создание учителем нового теста
  12. /chat?chat_id=<int:chat_id> Для учителя: взаимодействие с группой
  13. /chat/creating Для учителя: создание новой группы

Пояснительная записка

Название проекта

Портал для ведения образовательной деятельности

Авторы проекта

Карнажицкий Максим Романович, Мерескин Евгений Дмитриевич

Описание идеи:

Идея проекта заключается в создании универсального сервиса для ведения образовательной деятельности. Наш сервис обладает интуитивно понятным управлением и предоставляет возможность учителям самостоятельно создавать тесты для учеников. Учителя могут создавать группы, в которых ученики смогут задавать вопросы, общаться и получать уведомления о новых тестах, которые создают учителя. Также учителя контроллировать процесс процесс прохождения тестов и анализировать результаты для более объективной оценки знаний учеников.

Описание реализации

Таблица users

  • Таблица users связана с таблицей groups связью many-to-many через вспомогательные таблицы users_to_groups и users_to_invites_to_groups

В этой таблице хранятся данные о пользователях

Таблица groups

  • Таблица groups связана с таблицей works связью many-to-many через вспомогательную таблицу works_to_groups

Таблица используется для объединенния пользователей в группу, в которой участники разделяются на учителя и учеников

Таблица messages

  • Таблица messages связана с таблицами users и groups связями one-to-many

Таблица используется для хранения истории сообщений между пользователями

Таблица works

  • Таблица works связана с таблицей groups связью many-to-many через вспомогательную таблицу works_to_groups

Таблица используется для хранения тестов

Структура

image

Описание технологий

Flask - фреймворк для создания веб-приложений на языке программирования Python. В него входят такие наборы инструментов, как Jinja2, при помощи которой мы можем создавать сайты с динамическим содержимым, и Werkzeug, при помощи которого выполняется протокол взаимодействия веб-сервера и веб-приложения.

Sqlalchemy - это программная библиотека на языке Python для работы с реляционными СУБД с применением технологии orm. Благодря этой библиотеке, мы имеем возможность работать с БД в концепциях ООП. Технология orm позволяет создать "вирутальную" базу данных из объектов, что существенно облегчает разработку.

Flask-SocketIO - это библиотека на языке Python для работы с веб-приложениями, использующие фреймворк Flask. Данная библиотека позволяет работать с JavaScript-библиотекой socket.io, которая позволяет обмениваться данными в реальном времени без перезагрузки веб-страниц.

Flask-WTF - это библиотека на языке Python для работы с веб-приложениями, использующие фреймворк Flask. Данная библиотека используется для защиты веб-форм от атак под названием Cross-Site Request Forgery или CSRF.

Необходимые библиотеки

Для запуска нашего проекта потребуются следующие библиотеки:

  • SQLAlchemy (version = 2.0.5)
  • Werkzeug (version = 2.2.3)
  • WTForms (version = 3.0.1)
  • Flask (version = 2.2.3)
  • Flask-SocketIO (version = 5.2.0)

В нашем проекте важны версии библиотек, так что рекомендуется пользоваться версиями, которые прописаны вместе с библиотекой

About

Проект на Flask. Яндекс.Лицей, весна, 2023 (100/100)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors