Sign inSign up

anstfoto/exerciser-webapi

By anstfoto

Updated 3 months ago

Веб-API Exerciser: управление экзаменами (ASP.NET Core 10 + MongoDB).

Image
Integration & delivery
API management
0

1.1K

anstfoto/exerciser-webapi repository overview

Exerciser Web API

Система тестирования студентов – бэкенд-сервис для управления экзаменами, группами и студентами, а также проведения тестирования.

Docker Pulls GitHub release


📦 Быстрый старт

docker run -d \
  -p 8080:8080 \
  -e MongoDbSettings__Host=mongodb \
  -e MongoDbSettings__Port=27017 \
  -e MongoDbSettings__DatabaseName=exerciser_db \
  -e Redis__ConnectionString=redis:6379,abortConnect=false \
  --name exerciser-webapi \
  anstfoto/exerciser-webapi:latest

Примечание: Для работы с MongoDB и Redis рекомендуется использовать docker-compose.yml из репозитория.


🔄 Что нового в версии 1.3.0

  • Аналитика по студентам для преподавателя.
    Добавлен эндпоинт GET /api/v1/analytics/attempts/last, возвращающий последнюю завершённую попытку для каждой комбинации студент + экзамен.
  • Страница аналитики в админ-панели:
    • Таблица с последними попытками студентов.
    • Прогресс-бар с цветовой индикацией (зелёный ≥70%, жёлтый 40–69%, красный <40%).
    • Фильтрация по группам и экзаменам.
    • Сортировка по любому столбцу.
  • Версия админ-панели повышена до 1.2.0.
  • Обновлена документация (HTTP-файл, Postman коллекция).

Полный список изменений в CHANGELOG.md.


📋 Возможности

  • ✅ Импорт экзаменов из JSON (с валидацией)
  • ✅ Управление экзаменами (CRUD)
  • ✅ Настройка количества вопросов каждого типа для показа студенту (SingleChoice, MultipleChoice, TextInput)
  • ✅ Управление группами и студентами
  • ✅ Студенческие сессии и попытки тестирования
  • Аналитика по студентам (новая в v1.3.0)
  • ✅ Rate limiting (100 запросов/мин, 10 импортов/час)
  • ✅ Кеширование через Redis или MemoryCache
  • ✅ Логирование через NLog (консоль + файлы)
  • ✅ OpenAPI + Scalar UI документация
  • ✅ Health checks

🔧 Переменные окружения

ПеременнаяОписаниеПо умолчанию
ASPNETCORE_ENVIRONMENTОкружение (Development/Production)Production
MongoDbSettings__HostХост MongoDBmongodb
MongoDbSettings__PortПорт MongoDB27017
MongoDbSettings__UsernameИмя пользователя MongoDB
MongoDbSettings__PasswordПароль MongoDB
MongoDbSettings__DatabaseNameИмя базы данныхexerciser_db
Redis__ConnectionStringСтрока подключения Redislocalhost:6379,abortConnect=false
CORS__AllowedOriginsРазрешённые источники (через запятую)http://localhost:3000,http://localhost:5000
LOG_LEVELУровень логированияInfo

🔗 Полезные ссылки


📜 Лицензия и авторство

© 2026 Старинин Андрей Николаевич, ООО «Компьютерная Академия Топ» (ИНН 7724406449)
Автор: Старинин Андрей Николаевич
GitHub: anst-foto
Email: [email protected]

Данный Docker-образ распространяется на условиях лицензии Apache License 2.0.
Полный текст лицензии доступен в репозитории.


🏷️ Теги

  • latest – последняя стабильная версия
  • v1.3.0 – добавлена аналитика по студентам, админка 1.2.0
  • v1.2.1 – улучшения студенческого клиента
  • v1.2.0 – выбор вопросов по типам, студенческий клиент
  • v1.1.1 – обновление GitHub Actions
  • v1.1.0 – редактирование экзаменов
  • v1.0.0 – первый стабильный релиз

Последнее обновление: 2026-06-18

Tag summary

Content type

Image

Digest

sha256:a46343099

Size

57.7 MB

Last updated

3 months ago

docker pull anstfoto/exerciser-webapi