From 8178806075d185b619d5167aae771cf066927fa6 Mon Sep 17 00:00:00 2001 From: aki Date: Tue, 8 Apr 2025 11:26:03 +0800 Subject: [PATCH] Update graphs --- docs/CONTRACT.md | 34 ++++++---------------------------- 1 file changed, 6 insertions(+), 28 deletions(-) diff --git a/docs/CONTRACT.md b/docs/CONTRACT.md index 5113ab7..c035311 100644 --- a/docs/CONTRACT.md +++ b/docs/CONTRACT.md @@ -148,75 +148,56 @@ The LMS user interface is designed for clarity, consistency, and ease of navigat The following diagram illustrates a high-level flow and component relationship within the user interface: ```mermaid -flowchart TD - %% Layout Types (Vertical) +--- +config: + theme: neo-dark +--- +flowchart LR subgraph Layouts["Layouts"] Centered["🎯 Centered Layout (Login, Register)"] ThreeCol["πŸ›οΈ Three-Column Layout (Admin Dash)"] SplitCol["| Sidebar | Content | (Split Column Layout)"] end - - %% Core Components Header["🧭 Header (Logo, Menu, User Profile Dropdown)"] Sidebar["πŸ“š Sidebar (Optional, Collapsible)"] MainContent["πŸ–₯️ Main Content Area (Hosts Widgets/Pages)"] Footer["πŸ“Ž Footer (Links, Copyright)"] Modal["P M Modal Container"] - - %% Page Examples & Widget Hosting LoginPage["πŸ”‘ Login Page"] LoginWidget["🧩 Login Widget (SRP)"] RegisterButtonWidget["🧩 Button Widget -> Register"] - RegisterPage["✍️ Register Page"] RegisterInfoWidget["🧩 Register Info Widget"] LoginButtonWidget["🧩 Button Widget -> Login"] - DashboardPage["πŸ“Š Dashboard Page"] VariousWidgets["🧩 Various Dashboard Widgets"] - ProfilePage["πŸ‘€ Profile Page"] ProfileInfoWidget["🧩 Profile Info Widget (Pic, Name, ID, DOB)"] PostFeedWidget["🧩 Post Feed Widget"] - AdminPage["βš™οΈ Admin Dashboard"] StudentsWidget["🧩 Students Widget"] TeachersWidget["🧩 Teachers Widget"] - ManageStudentsPage["πŸ“‹ Manage Students Page"] StudentTableWidget["🧩 Student Table Widget"] - - %% Layout usage relationships (vertical chaining) LoginPage --> Centered RegisterPage --> Centered DashboardPage --> SplitCol ProfilePage --> SplitCol AdminPage --> ThreeCol ManageStudentsPage --> SplitCol - - %% Containment relationships LoginPage --> LoginWidget LoginPage --> RegisterButtonWidget - RegisterPage --> RegisterInfoWidget RegisterPage --> LoginButtonWidget - DashboardPage --> VariousWidgets - ProfilePage --> ProfileInfoWidget ProfilePage --> PostFeedWidget - AdminPage --> StudentsWidget AdminPage --> TeachersWidget - ManageStudentsPage --> StudentTableWidget - - %% Core Component Relationships (chained vertically) Header --> Sidebar Sidebar --> MainContent MainContent --> Footer - - %% Modal Triggering (vertical flow) UserProfile["User Profile"] --> Modal Modal --> AccountSettingsWidget["🧩 Account Settings Widget"] MenuLinks["Menu Links"] --> Modal @@ -261,7 +242,7 @@ flowchart TD subgraph B["🐳 Docker Environment"] direction TB subgraph C["🚦 Actix Backend Container (lms-backend)"] - direction LR + direction TB ActixServer["πŸš€ Actix HTTP Server"] --> Middleware["πŸ›‘οΈ Middleware (CORS, Log, Auth*)"] Middleware --> Router["πŸ—ΊοΈ Router (handlers.rs)"] Router --> Handlers["βš™οΈ Route Handlers"] @@ -280,9 +261,6 @@ flowchart TD end A --> B - - %% Notes - ```