- 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
38 lines
720 B
YAML
38 lines
720 B
YAML
server:
|
|
port: ${SERVER_PORT:8081}
|
|
|
|
spring:
|
|
application:
|
|
name: identity-service
|
|
datasource:
|
|
url: ${LMS_DB_URL:jdbc:postgresql://localhost:5432/lms?currentSchema=identity}
|
|
username: ${LMS_DB_USER:lms}
|
|
password: ${LMS_DB_PASSWORD:lms}
|
|
jpa:
|
|
open-in-view: false
|
|
hibernate:
|
|
ddl-auto: validate
|
|
properties:
|
|
hibernate:
|
|
default_schema: identity
|
|
flyway:
|
|
enabled: true
|
|
locations: classpath:db/migration
|
|
schemas: identity
|
|
default-schema: identity
|
|
create-schemas: true
|
|
|
|
management:
|
|
endpoints:
|
|
web:
|
|
exposure:
|
|
include: health,info
|
|
endpoint:
|
|
health:
|
|
probes:
|
|
enabled: true
|
|
|
|
springdoc:
|
|
api-docs:
|
|
path: /v3/api-docs
|