PRPA lb-4
This commit is contained in:
45
semester-4/ПрПА/lb-4/uml/component.pu
Normal file
45
semester-4/ПрПА/lb-4/uml/component.pu
Normal file
@ -0,0 +1,45 @@
|
||||
@startuml
|
||||
skin rose
|
||||
skinparam backgroundColor #EEEBDC
|
||||
left to right direction
|
||||
|
||||
package "Backend Server" as backend {
|
||||
[App.rs] --> [Router.rs]
|
||||
[App.rs] --> [Hooks.rs]
|
||||
[Router.rs] --> [Controllers.rs]
|
||||
[Router.rs] --> [DataViews.rs]
|
||||
[Controllers.rs] --> [DataModels.rs]
|
||||
[Controllers.rs] --> [Mailers.rs]
|
||||
[Controllers.rs] -r-> [DataViews.rs]
|
||||
[Controllers.rs] -l-> [APIProviders.rs]
|
||||
[DataModels.rs] -l-> [DatabaseEntities.rs]
|
||||
}
|
||||
|
||||
package "Database" as db {
|
||||
[DatabaseEntities.rs] --> [DatabaseMigrations.rs]
|
||||
}
|
||||
|
||||
package "Frontend Server" as frontend {
|
||||
[main.tsx] -u-> [routes]
|
||||
[routes] -u-> [components]
|
||||
[components] -u-> [hooks]
|
||||
[hooks] -u-> [store]
|
||||
[hooks] -u-> [api]
|
||||
[api] -r-> [types]
|
||||
[store] -l-> [types]
|
||||
}
|
||||
|
||||
|
||||
package "Mobile App" {
|
||||
[MainActivity.kt] -u-> [Fragments.kt]
|
||||
[Fragments.kt] -u-> [ViewModels.kt]
|
||||
[Fragments.kt] -r-> [Adapters.kt]
|
||||
[ViewModels.kt] -u-> [APIClient.kt]
|
||||
[APIClient.kt] -r-> [DataModels.kt]
|
||||
[DataModels.kt] -l-> [ViewModels.kt]
|
||||
}
|
||||
|
||||
[App.rs] -u- [APIClient.kt] : Rest
|
||||
[App.rs] -u- [api] : Rest
|
||||
|
||||
@enduml
|
1
semester-4/ПрПА/lb-4/uml/component.svg
Normal file
1
semester-4/ПрПА/lb-4/uml/component.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 32 KiB |
81
semester-4/ПрПА/lb-4/uml/distribution.pu
Normal file
81
semester-4/ПрПА/lb-4/uml/distribution.pu
Normal file
@ -0,0 +1,81 @@
|
||||
@startuml
|
||||
skin rose
|
||||
skinparam backgroundColor #EEEBDC
|
||||
|
||||
node backend [
|
||||
<b>Backend Server Instance(s)</b>
|
||||
---
|
||||
App.rs
|
||||
....
|
||||
Router.rs
|
||||
....
|
||||
Hooks.rs
|
||||
....
|
||||
Controllers.rs
|
||||
....
|
||||
DataViews.rs
|
||||
....
|
||||
DataModels.rs
|
||||
....
|
||||
Mailers.rs
|
||||
....
|
||||
APIProviders.rs
|
||||
....
|
||||
APIProviders.rs
|
||||
....
|
||||
DatabaseEntities.rs
|
||||
....
|
||||
DatabaseMigrations.rs
|
||||
]
|
||||
|
||||
node db_server [
|
||||
<b>Database Server Instance(s)</b>
|
||||
---
|
||||
Actual PostgreSQL Database
|
||||
]
|
||||
|
||||
node frontend_host [
|
||||
<b>Frontend Hosting/CDN</b>
|
||||
---
|
||||
main.tsx
|
||||
....
|
||||
routes
|
||||
....
|
||||
components
|
||||
....
|
||||
hooks
|
||||
....
|
||||
store
|
||||
....
|
||||
api
|
||||
....
|
||||
types
|
||||
]
|
||||
|
||||
node workstation [
|
||||
<b>User Workstation</b>
|
||||
]
|
||||
|
||||
node mobile_devices [
|
||||
<b>User Mobile Devices</b>
|
||||
---
|
||||
MainActivity.kt
|
||||
....
|
||||
Fragments.kt
|
||||
....
|
||||
ViewModels.kt
|
||||
....
|
||||
Adapters.kt
|
||||
....
|
||||
APIClient.kt
|
||||
....
|
||||
DataModels.kt
|
||||
]
|
||||
|
||||
backend -- db_server : TCP/IP - ORM Connection
|
||||
|
||||
frontend_host -u-> workstation : HTTPS - Serves Assets
|
||||
workstation --> backend : HTTPS - REST API Calls
|
||||
mobile_devices --> backend : HTTPS - REST API Calls
|
||||
|
||||
@enduml
|
1
semester-4/ПрПА/lb-4/uml/distribution.svg
Normal file
1
semester-4/ПрПА/lb-4/uml/distribution.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 17 KiB |
96
semester-4/ПрПА/lb-4/uml/state.pu
Normal file
96
semester-4/ПрПА/lb-4/uml/state.pu
Normal file
@ -0,0 +1,96 @@
|
||||
@startuml
|
||||
skin rose
|
||||
skinparam backgroundColor #EEEBDC
|
||||
hide empty description
|
||||
|
||||
[*] --> Registration
|
||||
|
||||
state Registration {
|
||||
Registration --> Email_Validation
|
||||
Registration --> Google_Authentication
|
||||
|
||||
Email_Validation : register()
|
||||
Email_Validation : send_confirmation_email()
|
||||
Email_Validation : validate_email()
|
||||
|
||||
Google_Authentication : login_with_google()
|
||||
Google_Authentication : validate_google_token()
|
||||
|
||||
Email_Validation --> User_Registered
|
||||
Google_Authentication --> User_Registered
|
||||
}
|
||||
|
||||
User_Registered --> Login
|
||||
|
||||
state Login {
|
||||
Login --> Credentials_Validation
|
||||
Login --> Google_Authentication_Login
|
||||
|
||||
Credentials_Validation : validate_login()
|
||||
Credentials_Validation : validate_password()
|
||||
|
||||
Google_Authentication_Login : login_via_google()
|
||||
|
||||
Credentials_Validation --> User_LoggedIn
|
||||
Google_Authentication_Login --> User_LoggedIn
|
||||
}
|
||||
|
||||
state User_LoggedIn {
|
||||
state Main_Menu {
|
||||
Main_Menu --> Task
|
||||
Main_Menu --> Task_Group
|
||||
}
|
||||
|
||||
Main_Menu : view_tasks()
|
||||
Main_Menu : view_task_groups()
|
||||
Main_Menu : search_tasks(keyword)
|
||||
Main_Menu : filter_tasks_by_access(access_type)
|
||||
|
||||
state Task {
|
||||
Task --> Create_Task
|
||||
Task --> View_Task
|
||||
Task --> Edit_Task
|
||||
Task --> Delete_Task
|
||||
}
|
||||
|
||||
Task : create(title, description)
|
||||
Task : edit(task_id, new_title, new_description)
|
||||
Task : delete(task_id)
|
||||
Task : view(task_id)
|
||||
Task : set_access(task_id, access_type)
|
||||
Task : add_attachment(task_id, file)
|
||||
Task : download_attachment(task_id, file_id)
|
||||
Task : get_attachment_list(task_id)
|
||||
Task : view_history(task_id)
|
||||
Task : remove_attachment(task_id, file_id)
|
||||
|
||||
Create_Task --> Set_Task_Access
|
||||
Edit_Task --> Set_Task_Access
|
||||
|
||||
state Set_Task_Access {
|
||||
Set_Task_Access --> Public_Access
|
||||
Set_Task_Access --> Private_Access
|
||||
Set_Task_Access --> Paid_Access
|
||||
}
|
||||
|
||||
Public_Access : access = public
|
||||
Private_Access : access = private
|
||||
Paid_Access : access = paid
|
||||
|
||||
state Task_Group {
|
||||
Task_Group --> Create_Group
|
||||
Task_Group --> View_Group
|
||||
Task_Group --> Edit_Group
|
||||
Task_Group --> Delete_Group
|
||||
}
|
||||
|
||||
Task_Group : create_group(name)
|
||||
Task_Group : add_task_to_group(task_id)
|
||||
Task_Group : remove_task_from_group(task_id)
|
||||
Task_Group : delete_group(group_id)
|
||||
Task_Group : rename_group(group_id, new_name)
|
||||
Task_Group : view_group(group_id)
|
||||
}
|
||||
|
||||
User_LoggedIn --> [*]
|
||||
@enduml
|
1
semester-4/ПрПА/lb-4/uml/state.svg
Normal file
1
semester-4/ПрПА/lb-4/uml/state.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 34 KiB |
Reference in New Issue
Block a user