- Gradle multi-module: libs/{common-http,security-jwt,markdown,test-support},
services/{identity,academic,progress,gateway}, web (Thymeleaf+htmx)
- identity-service: JWT auth (RSA), accounts, students, groups, enrollment,
import from XLSX/CSV, credentials export, password reset
- academic-service: lab import from JSON/zip (markdown + YAML + variants),
levels, API
- progress-service: schema for student levels and variant assignments
- gateway: Spring Cloud Gateway, JWT validation, route propagation
- web: Server-side UI with flex/footer layout, light/dark theme toggle,
admin dashboard, groups CRUD, student portal placeholder
- docker-compose: PostgreSQL 18
- Tests: identity smoke test with Testcontainers
21 lines
672 B
HTML
21 lines
672 B
HTML
<!DOCTYPE html>
|
|
<html lang="ru" xmlns:th="http://www.thymeleaf.org">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>LMS</title>
|
|
<link rel="stylesheet" th:href="@{/css/app.css}">
|
|
</head>
|
|
<body>
|
|
<main class="container">
|
|
<h1>LMS</h1>
|
|
<p class="lead">Система для проведения практических занятий. Каркас запущен.</p>
|
|
<ul class="status">
|
|
<li>web-BFF: запущен</li>
|
|
<li>gateway: /actuator/health</li>
|
|
<li>identity / academic / progress: отдельные сервисы</li>
|
|
</ul>
|
|
</main>
|
|
</body>
|
|
</html>
|