docs/CONTRACT.md #7

Merged
aki merged 16 commits from docs/CONTRACT.md into main 2025-04-08 15:09:42 +00:00
Showing only changes of commit 8178806075 - Show all commits

View File

@ -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
```
<!--