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 — сохраняются как есть.