Files
LMS/docs
Vladislav Kopnin 5ffeaa0217 Content: drag & drop reordering and moving of chapters, sections and articles
- academic: POST /api/v1/content/reorder applies a full tree arrangement in one
  request — chapter order, section order and section->chapter moves, article
  order and article->section moves (positions and parent ids updated)
- web: POST /admin/content/reorder accepts the tree from JS (CSRF via query
  param), calls the gateway with the admin token
- /learn admin view: draggable handles (⠿) for chapters, sections and articles;
  drop before/after to reorder, drop into a chapter/section to move; visual
  indicators; structure is collected from DOM and saved, then page reloads
- docs: class diagram method + new sequence diagram for drag & drop
2026-09-16 18:51:21 +03:00
..

Документация LMS

UML- и архитектурные диаграммы проекта. Все диаграммы — в формате Mermaid, поэтому они рендерятся прямо в Gitea/GitHub, в VS Code (расширение Markdown Preview Mermaid Support) и в IntelliJ IDEA (плагин Mermaid).

Содержание

Документ Что описывает
01-architecture.md Контекст системы, компоненты, модули Gradle, схема аутентификации
02-deployment.md Диаграмма развёртывания: Docker, nginx, тома, порты, переменные окружения
03-domain-model.md Диаграммы классов по сервисам, ER-модель БД, модель web-слоя
04-sequences.md Диаграммы последовательностей: вход, импорт ЛР, раздача вариантов, сдача, защита, оценки, материалы
05-states.md Диаграммы состояний: защита, публикация оценок, статус ЛР, публикация материалов

Кратко о системе

LMS — микросервисное приложение на Kotlin/Spring Boot 3 (Java 21) с server-side-rendered UI на Thymeleaf + htmx:

  • gateway (:8080) — единая точка входа для REST API: маршрутизация и проверка JWT;
  • identity-service (:8081) — аккаунты, группы, студенты, аутентификация (JWT + JWKS);
  • academic-service (:8082) — семестры, лабораторные (уровни, варианты), учебные материалы;
  • progress-service (:8083) — варианты/уровни студентов, сдачи, оценки и комментарии, защиты;
  • web (:8090) — BFF: сессии, CSRF, страницы админа и студента, markdown-рендер;
  • PostgreSQL 18 — одна БД lms со схемами identity, academic, progress.

Поток запроса: браузер → nginx → web → gateway → сервис → PostgreSQL. Подробности — в 01-architecture.md.