add files

parents
@startuml
start
:Открыть страницу с поиском;
:Пользователь вводит запрос;
:Нажимает "Поиск";
:Отображается двумерная доска\nс 5 карточками ресурсов;
:Пользователь выбирает карточку;
:Выбранный ресурс\nотображается под доской;
:Карточка выделяется;
:Запрос в Recombee для 3 похожих ресурсов;
:Появляются 3 новых карточки,\nсвязанные кривыми с выбранной;
repeat
:Пользователь выбирает новую карточку;
:Отображается ресурс;
:Recombee → 3 новых ресурса\n(исключая уже показанные);
:Добавление новых карточек\nи связей на доске;
repeat while (Пользователь продолжает строить курс)
stop
@enduml
class.png

632 KB

This diff is collapsed.
@startuml
actor User
participant "React Frontend" as Frontend
participant "Express REST API" as Express
participant "PostgreSQL"
participant "Recombee"
participant "Google Cloud Storage" as GCS
participant "Auth0"
== Загрузка главной страницы ==
User -> Frontend : Открывает главную страницу
Frontend -> Express : GET /courses
Express -> PostgreSQL : SELECT * FROM courses
PostgreSQL --> Express : Курсы
Express --> Frontend : JSON с курсами
Frontend --> User : Отображает список курсов
== Открытие курса ==
User -> Frontend : Кликает на курс
Frontend -> Express : GET /course/:id
Express -> PostgreSQL : SELECT * FROM course, resources WHERE course_id = :id
PostgreSQL --> Express : Данные курса + первый ресурс
Express --> Frontend : JSON с ресурсом
Frontend -> Recombee : logView(user_id, resource_id)
Frontend -> GCS : GET /images/res1.jpg
GCS --> Frontend : Картинка ресурса
Frontend --> User : Отображает ресурс
== Открытие теста ==
User -> Frontend : Кликает "Пройти тест"
Frontend -> Auth0 : Проверка авторизации
alt Не авторизован
Auth0 --> Frontend : Redirect на login
Frontend -> User : Перенаправление на Auth0
else Авторизован
Frontend -> Express : GET /test/:id
Express -> PostgreSQL : SELECT * FROM test, questions, answers WHERE test_id = :id
PostgreSQL --> Express : Данные теста
Express --> Frontend : JSON с тестом
loop Вопросы
Frontend -> GCS : GET /images/questionX.jpg, answerY.jpg
GCS --> Frontend : Картинки
end
Frontend --> User : Отображает тест
end
== Прохождение теста ==
User -> Frontend : Отвечает на вопросы
Frontend -> Express : POST /test-results
Express -> PostgreSQL : INSERT INTO test_results + шаги
PostgreSQL --> Express : OK
Express --> Frontend : Статистика
Frontend -> Express : GET /test-results/stats
Express -> PostgreSQL : SELECT ошибок и баллы по шагам
PostgreSQL --> Express : Данные
Express --> Frontend : JSON
Frontend --> User : Рисует графики
@enduml
@startuml
title Состояния прохождения теста
[*] --> ВыборРежима
ВыборРежима --> ОтображениеВопроса : режим выбран
ОтображениеВопроса --> ВыборОтвета : вопрос загружен
ВыборОтвета --> ПроверкаОтвета : нажата кнопка "проверить"
ПроверкаОтвета --> Завершён : ошибок нет
ПроверкаОтвета --> Подсказка : есть ошибки
Подсказка --> ВыборОтвета : пользователь меняет ответ
ВыборОтвета --> Завершён : нажата кнопка "сдаться"
Завершён --> Статистика : показать результаты
Статистика --> ПовторноеПрохождение : нажата "пройти заново"
ПовторноеПрохождение --> ВыборРежима
@endum
@startuml
title Study Ways диаграмма Use Case
actor "Студент" as Student
actor "Преподаватель" as Teacher
actor "Администратор" as Admin
actor "Студент с правом создания уроков" as StudentCreator
rectangle "Учебная платформа" {
usecase "Регистрация/Авторизация" as UC_Auth
package "Обучение" {
usecase "Просмотр курсов" as UC_ViewCourses
usecase "Изучение контента курса" as UC_StudyCourse
usecase "Поиск образовательных ресурсов" as UC_SearchResources
}
package "Тестирование" {
usecase "Прохождение тестов" as UC_TakeTests
usecase "Получение результатов теста" as UC_TestResults
}
package "Управление контентом" {
usecase "Управление курсами" as UC_ManageCourses
usecase "Управление тестами" as UC_ManageTests
usecase "Управление ресурсами" as UC_ManageResources
usecase "Управление деревом тем ресурсов" as UC_ManageThemes
}
}
' Студент
Student --> UC_Auth
Student --> UC_ViewCourses
Student --> UC_StudyCourse
Student --> UC_TakeTests
Student --> UC_TestResults
Student --> UC_SearchResources
' Преподаватель
Teacher --> UC_Auth
Teacher --> UC_ManageCourses
Teacher --> UC_ManageTests
Teacher --> UC_ManageResources
Teacher --> UC_TakeTests
Teacher --> UC_TestResults
Teacher --> UC_ManageThemes
' Администратор
Admin --> UC_Auth
Admin --> UC_ManageCourses
Admin --> UC_ManageTests
Admin --> UC_ManageResources
Admin --> UC_TakeTests
Admin --> UC_TestResults
Admin --> UC_ManageThemes
' Студент с правом создания уроков
StudentCreator --> UC_Auth
StudentCreator --> UC_ManageCourses
StudentCreator --> UC_ManageResources
StudentCreator --> UC_TakeTests
StudentCreator --> UC_TestResults
@enduml
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment