docs: актуализация под текущее состояние (Bootstrap вместо htmx, RestClient, интерцепторы, контроллеры, публикация по студентам, watch-опрос, автосейв без перезагрузки)
This commit is contained in:
@@ -182,6 +182,7 @@ classDiagram
|
||||
class LabController
|
||||
class ContentPublicController
|
||||
class ContentAdminController
|
||||
class ContentOrderController
|
||||
class LabService {
|
||||
+importFromFile(String, ByteArray) LabImportResult
|
||||
+list() List~LabSummary~
|
||||
@@ -234,6 +235,7 @@ classDiagram
|
||||
LabController --> LabService
|
||||
ContentPublicController --> ContentService
|
||||
ContentAdminController --> ContentService
|
||||
ContentOrderController --> ContentService
|
||||
LabService --> LabRepository
|
||||
LabService --> LabLevelRepository
|
||||
LabService --> VariantRepository
|
||||
@@ -274,6 +276,12 @@ classDiagram
|
||||
+UUID labId
|
||||
+Instant publishedAt
|
||||
}
|
||||
class GradePublicationStudent {
|
||||
+UUID groupId
|
||||
+UUID labId
|
||||
+UUID studentId
|
||||
+Instant publishedAt
|
||||
}
|
||||
class GradeComment {
|
||||
+UUID id
|
||||
+UUID studentId
|
||||
@@ -313,6 +321,8 @@ classDiagram
|
||||
ready
|
||||
}
|
||||
|
||||
GradePublication "1" --> "*" GradePublicationStudent : легаси «вся группа» и персональные
|
||||
Note for GradePublicationStudent : персональная публикация оценки/комментариев студенту
|
||||
CommentTemplate "1" --> "*" GradeComment : подсказки (text/tone)
|
||||
GradeComment "*" --> "1" LabGrade : поясняет оценку
|
||||
LabGrade "1" --> "0..1" GradePublication : видна студенту после публикации
|
||||
@@ -324,8 +334,11 @@ classDiagram
|
||||
```mermaid
|
||||
classDiagram
|
||||
class ProgressController
|
||||
class SubmissionController
|
||||
class DefenseAdminController
|
||||
class DefenseMyController
|
||||
class StudentPurgeController
|
||||
class GroupLabDataController
|
||||
class ProgressService {
|
||||
+setLevel(LevelAssignmentRequest, String) LevelAssignmentResponse
|
||||
+getLevel(UUID, UUID) StudentLabLevel
|
||||
@@ -334,7 +347,7 @@ classDiagram
|
||||
+assignWithInfo(AssignRequest, String) VariantAssignmentResponse
|
||||
+assignmentsForLabEnriched(UUID, String) List~VariantAssignmentResponse~
|
||||
+setGrade(GradeSetRequest) GradeResponse
|
||||
+suggestComments(String) List~CommentOut~
|
||||
+suggestComments(String) List~CommentSuggestion~
|
||||
+myComments(UUID) List~GradeComment~
|
||||
+getStudentAssignment(UUID, UUID, String) MeAssignmentResponse
|
||||
}
|
||||
@@ -356,10 +369,12 @@ classDiagram
|
||||
+resetByStudentLab(UUID, UUID)
|
||||
}
|
||||
class GradePublicationService {
|
||||
+setPublished(UUID, UUID, Boolean)
|
||||
+isPublished(UUID, UUID) Boolean
|
||||
+publishedLabIdsForGroup(UUID) List~String~
|
||||
+publishedGroupIdsForLab(UUID) List~String~
|
||||
+state(UUID, UUID) PublicationState
|
||||
+setStudents(UUID, UUID, List~UUID~)
|
||||
+isPublished(UUID, UUID, UUID) Boolean
|
||||
}
|
||||
class StudentPurgeService {
|
||||
+purge(UUID)
|
||||
}
|
||||
class AcademicClient {
|
||||
+getLab(String, String) LabInfo
|
||||
@@ -383,12 +398,17 @@ classDiagram
|
||||
class SubmissionRepository
|
||||
class DefenseSessionRepository
|
||||
class GradePublicationRepository
|
||||
class GradePublicationStudentRepository
|
||||
|
||||
ProgressController --> ProgressService
|
||||
SubmissionController --> SubmissionService
|
||||
DefenseAdminController --> DefenseService
|
||||
DefenseMyController --> DefenseService
|
||||
StudentPurgeController --> StudentPurgeService
|
||||
GroupLabDataController --> ProgressService
|
||||
ProgressController --> SubmissionService
|
||||
ProgressController --> GradePublicationService
|
||||
StudentPurgeService --> SubmissionStorage
|
||||
ProgressService --> VariantAssignmentRepository
|
||||
ProgressService --> StudentLabLevelRepository
|
||||
ProgressService --> LabGradeRepository
|
||||
@@ -401,6 +421,7 @@ classDiagram
|
||||
SubmissionService --> AcademicClient
|
||||
DefenseService --> DefenseSessionRepository
|
||||
GradePublicationService --> GradePublicationRepository
|
||||
GradePublicationService --> GradePublicationStudentRepository
|
||||
```
|
||||
|
||||
## 4.web (BFF)
|
||||
@@ -410,13 +431,29 @@ classDiagram
|
||||
class AuthPageController
|
||||
class LearnController
|
||||
class StudentController
|
||||
class AdminController
|
||||
class AdminGroupController
|
||||
class AdminLabController
|
||||
class AdminStudentController
|
||||
class AdminDistributeController
|
||||
class AdminDefenseController
|
||||
class AdminUsersController
|
||||
class ContentAdminController
|
||||
class ContentAssetProxy
|
||||
class ApiClient {
|
||||
+login(String, String) AuthResponseDto
|
||||
+contentTree(String, Boolean) ContentTreeNodeDto
|
||||
+contentArticle(String, String, String, String, Boolean) ContentArticleDto
|
||||
+setContentPublished(String, String, String, Boolean)
|
||||
+suggestComments(String, String) List~CommentSuggestionDto~
|
||||
+deleteCommentTemplate(String, String)
|
||||
+publicationState(String, String, String) PublicationStateDto
|
||||
+setPublication(String, PublicationSetPayload)
|
||||
+purgeStudent(String, String)
|
||||
+searchStudents(String, String) List~AdminUserDto~
|
||||
+deleteStudent(String, String) DeleteUserDto
|
||||
+defenseWatch(String, List~String~) List~DefenseDto~
|
||||
+myDefenseStatus(String, String) Map
|
||||
+groupLabData(String, String) List~Map~
|
||||
+groupDetail(String, String) GroupDetailDto
|
||||
+distribute(String, DistributeRequestPayload) DistributeResultDto
|
||||
+setGrade(String, String, String, String, String) GradeResponseDto
|
||||
@@ -437,6 +474,7 @@ classDiagram
|
||||
+String USER
|
||||
}
|
||||
class CsrfInterceptor
|
||||
class NoCachePageInterceptor
|
||||
class AuthInterceptor
|
||||
class AdminInterceptor
|
||||
class MustChangePasswordInterceptor
|
||||
@@ -447,8 +485,14 @@ classDiagram
|
||||
AuthPageController --> ApiClient
|
||||
LearnController --> ApiClient
|
||||
StudentController --> ApiClient
|
||||
AdminController --> ApiClient
|
||||
AdminGroupController --> ApiClient
|
||||
AdminLabController --> ApiClient
|
||||
AdminStudentController --> ApiClient
|
||||
AdminDistributeController --> ApiClient
|
||||
AdminDefenseController --> ApiClient
|
||||
AdminUsersController --> ApiClient
|
||||
ContentAdminController --> ApiClient
|
||||
ContentAssetProxy --> ApiClient
|
||||
LearnController --> MarkdownRenderer
|
||||
AuthPageController --> SessionUser
|
||||
AuthPageController --> SessionKeys
|
||||
@@ -544,7 +588,7 @@ erDiagram
|
||||
}
|
||||
CHAPTERS {
|
||||
uuid id PK
|
||||
varchar title UK
|
||||
varchar title
|
||||
varchar slug UK
|
||||
int position
|
||||
boolean published
|
||||
@@ -598,6 +642,12 @@ erDiagram
|
||||
uuid lab_id PK
|
||||
timestamptz published_at
|
||||
}
|
||||
GRADE_PUBLICATION_STUDENTS {
|
||||
uuid group_id PK
|
||||
uuid lab_id PK
|
||||
uuid student_id PK
|
||||
timestamptz published_at
|
||||
}
|
||||
GRADE_COMMENTS {
|
||||
uuid id PK
|
||||
uuid student_id
|
||||
@@ -636,6 +686,7 @@ erDiagram
|
||||
STUDENT_LAB_LEVELS }o--|| LABS : "lab_id (не FK)"
|
||||
LAB_GRADES }o--|| LABS : "lab_id (не FK)"
|
||||
GRADE_PUBLICATIONS }o--|| LABS : "lab_id (не FK)"
|
||||
GRADE_PUBLICATION_STUDENTS }o--|| LABS : "lab_id (не FK)"
|
||||
GRADE_COMMENTS }o--|| LABS : "lab_id (не FK)"
|
||||
SUBMISSIONS }o--|| LABS : "lab_id (не FK)"
|
||||
DEFENSE_SESSIONS }o--|| LABS : "lab_id (не FK)"
|
||||
|
||||
Reference in New Issue
Block a user