HwProj — это веб-сервис, созданный для автоматизации образовательного процесса и упрощения взаимодействия между студентами, преподавателями и экспертами из индустрии. Платформа предлагает простой интерфейс для совместной работы, уменьшая когнитивную нагрузку на всех участников образовательного процесса. Основной логической единицей сервиса HwProj является учебный курс, который преподаватели создают для обучения студентов. В рамках курса они публикуют домашние работы и материалы занятий, проверяют решения студентов и формируют статистику успеваемости.
Сервис HwProj может использоваться в курсах, где необходимо оценивать выполненные задания.
Он особенно эффективен для курсов с дедлайнами по программированию и смежным дисциплинам, где важно отслеживать результаты студентов. Работы могут загружаться в виде ссылок на внешние ресурсы, такие как GitHub, или оцениваться после очной проверки. Преподаватели могут выставлять баллы за практические задания, доклады, проекты и другие виды работ.
Для преподавателей в HwProj реализована лента непроверенных решений: здесь содержится информация о решениях со всех курсов преподавателя, отсортированных по времени выполнения заданий с возможностью фильтрации.
Для студентов HwProj предоставляет ленту назначенных задач с информацией о дедлайнах.
Внешние эксперты в сервисе могут просматривать, комментировать и оценивать решения студентов по просьбе преподавателей.
Чтобы узнать больше о возможностях сервиса, ознакомьтесь с нашей документацией. Для начала работы с сервисом предлагаем воспользоваться инструкцией.
Новости обновлений сервиса: https://t.me/hwproj.
Также мы рекомендуем скачать интерактивную презентацию, которая наглядно демонстрирует ключевые возможности сервиса.
Мы будем рады вашим вопросам, замечаниям по работе сервиса и предложениям по его улучшению. Вы можете связаться с нами, открыв issue в репозитории или отправив сообщение в Telegram: @yuri_ufimtsev, @DedSec256, @yurii_litvinov.
+----------------+
| API Gateway |
+--------+-------+
|
v
+-----------------+-----------------+-----------------+------------------+
| | | | |
+-------v------+ +-------v------+ +-------v------+ +-------v-------+ +-------v------+
| Auth | | Courses | | Solutions | | Notifications | | Content |
+-------+------+ +-------+------+ +-------+------+ +-------+-------+ +-------+------+
| | | | |
+-----------------+-----------------+-----------------+------------------+
| (publish / subscribe, async)
+-----v-----------------------------------------+
| RabbitMQ |
+-----------------------------------------------+
- Auth Service - отвечает за регистрацию/аутентификацию и работу с данными пользователей
- Courses Service - управляет курсами, заданиями и студентами
- Solutions Service - обрабатывает отправленные студентами решения
- Notifications Service - отвечает за настройку и отправку уведомлений пользователям по новым событиями в HwProj
- Content Service - хранит информацию о прикрепленных материалах (файлах) в заданиях курса и решениях, отправляет файлы во внешнее S3-хранилище
- API Gateway - авторизует пользователей, агрегирует и постобрабатывает данные внутренних сервисов для отправки клиенту
- .NET 8 SDK
- MS SQL LocalDB
-
- После скачивания SQL Server Installer запускаем его, выбираем Download Media, в следующем окне тыкаем на LocalDB
- Node JS, v22.14.0
- Rabbit MQ, последняя актуальная версия
- Java (последняя актуальная версия) для генерации ts-клиента для ApiGateway
- Открыть
HwProj-2.0.1/HwProj.slnв Rider / Visual Studio -> Собрать решение - Вызвать
npm installвHwProj-2.0.1/hwproj.front
В Rider - запустить конфигурацию Start All
В Visual Studio - запустить сервисы ApiGateway.API, AuthService.API, CoursesService.API, SolutionsService.API, NotificationsService.API, ContentService.API
- Вызвать
npm run devвHwProj-2.0.1/hwproj.front(Start All в Rider запустит и фронтенд)
- Запустить ApiGateway
- Вызвать generate-swagger-client.ps1 в Powershell