Перейти к основному содержимому

lms → management

Зачем нужно

Management потребляет учебные факты для аналитики, целей, рекомендаций и диагностики.

Стороны

  • источник: lms
  • потребитель: management
  • вид: event-driven + sync snapshot

События

messageTypeКогда
lms.enrollment.createdновое зачисление
lms.attendance.recordedпосещаемость
lms.activity.attemptedпопытка активности
lms.activity.completedактивность пройдена
lms.homework.submittedсдана домашка
lms.homework.gradedоценена
lms.lesson.progress_updatedобновлён lesson_progress
lms.topic.completion_updatedизменилось topic_completion
lms.evidence.recordedновый learning_evidence
lms.xp.awardedначислено XP
lms.badge.awardedвыдан бейдж
lms.streak.updatedобновлена серия

Payloads с минимально необходимыми полями: ссылочные userId, studentProfileId, courseRef, lessonId, topicKey, groupId, sessionId, attemptId, xpAmount, badgeKey, streakValue, occurredAt.

Поведение management

  • агрегаты обновляются в materialized views;
  • learning_evidence учитывается в goal_evidence;
  • рекомендации пересчитываются по правилам.

Идемпотентность

  • по messageId;
  • доменный idempotency для обновлений снапшотов.

Online read

GET https://api.systematika.tld/api/v2/lms/student-profiles/{studentProfileId}/progress
GET https://api.systematika.tld/api/v2/lms/groups/{groupId}/attendance

Используется management для on-demand отчётов.

Retention

  • события 30 дней;
  • агрегаты в management — сохраняются как есть.

Связанные ADR

Связанные документы