Skip to content

InteIIigeNET/HwProj-2.0.1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

😺 HwProj-2.0.1

HwProj — это веб-сервис, созданный для автоматизации образовательного процесса и упрощения взаимодействия между студентами, преподавателями и экспертами из индустрии. Платформа предлагает простой интерфейс для совместной работы, уменьшая когнитивную нагрузку на всех участников образовательного процесса. Основной логической единицей сервиса HwProj является учебный курс, который преподаватели создают для обучения студентов. В рамках курса они публикуют домашние работы и материалы занятий, проверяют решения студентов и формируют статистику успеваемости.

Применение

Сервис HwProj может использоваться в курсах, где необходимо оценивать выполненные задания.

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

Для преподавателей в HwProj реализована лента непроверенных решений: здесь содержится информация о решениях со всех курсов преподавателя, отсортированных по времени выполнения заданий с возможностью фильтрации.

image_2025-10-27_01-34-23

Для студентов HwProj предоставляет ленту назначенных задач с информацией о дедлайнах.

image_2025-10-27_01-34-23

Внешние эксперты в сервисе могут просматривать, комментировать и оценивать решения студентов по просьбе преподавателей.

image_2025-10-27_01-34-23

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

Новости обновлений сервиса: 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 - авторизует пользователей, агрегирует и постобрабатывает данные внутренних сервисов для отправки клиенту

Локальная сборка и запуск

Подготовка окружения

  1. Открыть HwProj-2.0.1/HwProj.sln в Rider / Visual Studio -> Собрать решение
  2. Вызвать 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

Фронтенд

  1. Вызвать npm run dev в HwProj-2.0.1/hwproj.front (Start All в Rider запустит и фронтенд)

Генерация ts-клиента после изменения контрактов ApiGateway

  1. Запустить ApiGateway
  2. Вызвать generate-swagger-client.ps1 в Powershell