- Dashboard: real stats (groups, students, labs, average grade), labs/groups summary lists, no placeholder tile - Lab page: view + edit combined — metadata form in modal, condition rendered as markdown, per-level variant tables with add/edit/delete dialogs, level rename/delete, student level/variant selectors with group filter - Labs list: create-lab dialog with manual level entry (code; title lines) - Groups: create-group dialog, add-student dialog (auto password, toast card) - Content: public /learn reader is the single place; admin buttons (new article with chapter/section create-or-select, rename/delete chapters and sections, move articles between sections, import zip) appear for admins; removed separate 'Контент' admin section - Buttons use btn classes instead of nav-link - Favicon: generated SVG book icon - Security: CSRF synchronizer token interceptor (replaced spring-security in web which broke logback under nested jars), session regenerated on login, hardened session cookie, gateway actuator limited to health,info - Jackson 3: nullable-safe request DTOs for labs (FAIL_ON_NULL_FOR_PRIMITIVES) - academic: POST /labs (manual create with levels), level add/rename/delete, content chapters/sections CRUD, article create/move/delete endpoints
38 lines
1.1 KiB
YAML
38 lines
1.1 KiB
YAML
server:
|
|
port: ${SERVER_PORT:8080}
|
|
|
|
spring:
|
|
application:
|
|
name: gateway
|
|
cloud:
|
|
gateway:
|
|
server:
|
|
webflux:
|
|
routes:
|
|
- id: identity
|
|
uri: ${LMS_IDENTITY_URI:http://localhost:8081}
|
|
predicates:
|
|
- Path=/api/v1/auth/**,/api/v1/accounts/**,/api/v1/groups/**,/api/v1/students/**
|
|
- id: academic
|
|
uri: ${LMS_ACADEMIC_URI:http://localhost:8082}
|
|
predicates:
|
|
- Path=/api/v1/courses/**,/api/v1/articles/**,/api/v1/labs,/api/v1/labs/**,/api/v1/assets/**,/api/v1/content/**
|
|
- id: progress
|
|
uri: ${LMS_PROGRESS_URI:http://localhost:8083}
|
|
predicates:
|
|
- Path=/api/v1/assign,/api/v1/assign/**,/api/v1/assignments/**,/api/v1/levels,/api/v1/levels/**,/api/v1/me/**,/api/v1/distribute,/api/v1/distribute/**,/api/v1/grades,/api/v1/grades/**
|
|
|
|
management:
|
|
endpoints:
|
|
web:
|
|
exposure:
|
|
include: health,info
|
|
endpoint:
|
|
health:
|
|
probes:
|
|
enabled: true
|
|
|
|
lms:
|
|
jwt:
|
|
jwk-set-uri: ${LMS_JWT_JWK_SET_URI:http://localhost:8081/api/v1/auth/jwks.json}
|