Сценарий использования - описание того, что делает пользователь с приложением для достижения своей цели.
Роли пользователей - студент, администратор.
Основной сценарий:
Авторизация → Просмотр списка курсов → Просмотр деталей курса → Просмотр проектов → Формирование команды → Отправка заявки → Получение уведомления → Просмотр распределения → Инициация обмена (при необходимости)
- Авторизация → вход в систему.
- Просмотр списка курсов → отображение актуальных курсов.
- Просмотр деталей курса → описание и дедлайны.
- Просмотр списка проектов → список доступных проектов.
- Формирование команды:
- отправка запроса;
- получение запроса;
- подтверждение или отказ.
- Отправка заявки.
- Уведомление о распределении.
- Просмотр дашборда.
- Обмен проектами:
- инициация;
- подтверждение или отказ.
Основной сценарий:
Авторизация
→ Настройка параметров
→ Просмотр курсов
→ Настройка курса
→ Запуск распределения
→ Анализ результатов
→ Корректировка
→ Публикация
→ Просмотр распределения
→ Подтверждение обмена
- Авторизация.
- Просмотр курсов.
- Просмотр деталей курса.
- Настройка курса:
- редактирование описания;
- изменение дедлайнов, размера команд, отображения курса;
- редактирование списка проектов.
- Настройка параметров распределения.
- Запуск алгоритма.
- Визуализация результатов.
- Корректировка.
- Публикация итогов.
- Просмотр дашборда.
- Подтверждение или запрет обмена.
-
Убедитесь, что у вас установлены:
-
Требования к системе:
- Операционная система: Windows 10/11, macOS, Linux
- Разрядность системы: 64-битная
- Браузер: Современный браузер на базе Chromium (например, Google Chrome) или Gecko (например, Firefox) желательно последней версии.
-
Клонируйте репозиторий:
git clone https://github.com/moevm/mse1h2026-project
-
Перейдите в директорию проекта:
cd mse1h2026-project -
Скопируйте файл
.env.exampleв.envи отредактируйте переменные окружения.cp .env.example .env
-
Для локальной разработки (без Docker) убедитесь, что у вас установлены:
-
Установите зависимости:
pnpm i
-
Введите в
.envзначенияMYSQL_DATABASE=<your_database_name> MYSQL_USER=root MYSQL_PASSWORD=<your_root_password> MYSQL_HOST=localhost MYSQL_PORT=3306 JWT_SECRET=<your_jwt_secret>
-
Запустите проект:
pnpm build && pnpm previewpnpm dev
-
Смотри раздел Проверка работоспособности
-
Введите в
.envзначения для инициализации и запускаMySQLконтейнера:MYSQL_ROOT_PASSWORD=<your_root_password> MYSQL_DATABASE=<your_database_name> MYSQL_USER=<your_mysql_user> MYSQL_PASSWORD=<your_mysql_user_password> MYSQL_HOST=db MYSQL_PORT=3306 JWT_SECRET=<your_jwt_secret>
-
Запустите docker compose:
docker compose up --build
-
Смотри раздел Проверка работоспособности
-
Запустите docker compose для разработки:
docker compose -f docker-compose.dev.yaml up --build
-
Смотри раздел Проверка работоспособности
-
db:
MYSQL_ROOT_PASSWORD- пароль для пользователяrootв MySQL.MYSQL_DATABASE- имя базы данных, которая будет создана при запуске контейнера.MYSQL_USER- имя пользователя для доступа к базе данных (обычноrootдля локальной разработки, и неrootдля docker).MYSQL_PASSWORD- пароль для пользователя, указанного вMYSQL_USER.MYSQL_HOST- хост, на котором работает MySQL (dbдля Docker,localhostдля локальной разработки)MYSQL_PORT- порт, на котором работает MySQL (3306)
-
backend:
JWT_SECRET- секрет для генерации JWT токенов (может быть любым строковым значением, но рекомендуется использовать сложную строку для безопасности).
- После запуска приложения, откройте браузер и перейдите по адресу http://127.0.0.1:8080.
- В локальной разработке и в docker compose для разработки, доступен путь к backend API по адресу http://127.0.0.1:3000/api.
Любая информация, которую команда посчитает нужной разместить.