diff --git a/docs/BACKLOG.md b/docs/BACKLOG.md index bd4003ae75d0625cd6852c7f4f1211af92f96318..6fe30284c96620a0a39f97e30e9154af8b0d5c36 100644 --- a/docs/BACKLOG.md +++ b/docs/BACKLOG.md @@ -267,20 +267,23 @@ ### 0.0.27 Release * Fixed #60 frontend: better design for tables * Fixed #62 frontend: better design for pages -* Fixed #197 UML use cases for OWID reports and Visaul Data +* Fixed #197 UML use cases for OWID reports and Visual Data ### 0.0.28 Release * Fixed #199 Database export without gzip * Fixed #200 Database import without gzip ### 0.0.29 Release -* ------------------------------------- +* Fixed #201 UML: blueprint user ### 0.0.30 Release * ------------------------------------- ### 00 Inbox -* ------------------------------------- +* ------------------------------------- +* Issue #202 add blueprint user +* Issue #203 find python module for blueprint user +* Issue #204 add python module for blueprint user ### 01 Next * ------------------------------------- diff --git a/docs/uml_blueprints/admin/admin_domain_model.txt b/docs/uml_blueprints/admin/admin_domain_model.txt index af43e25350e74349c0719189842862d2cd05120b..1a9de7b0aceb40febb9182e012049ee4c28e0c12 100644 --- a/docs/uml_blueprints/admin/admin_domain_model.txt +++ b/docs/uml_blueprints/admin/admin_domain_model.txt @@ -112,6 +112,9 @@ class RkiLandkreiseService << (S,red) Service >> { } class OwidService << (S,red) Service >> { +} +class UserService << (S,red) Service >> { + } ApplicationServiceDownload "*" --> "1" ApplicationServiceConfig: cfg application_workers "1" --> "1" application_services: application_services @@ -128,6 +131,7 @@ application_services "*" --> "1" RkiVaccinationService: rki_vaccination_service application_services "*" --> "1" RkiBundeslaenderService: rki_service_bundeslaender application_services "*" --> "1" RkiLandkreiseService: rki_service_landkreise application_services "*" --> "1" OwidService: owid_service +application_services "*" --> "1" UserService: user_service ApplicationService "*" --> "1" database ApplicationServiceDownload "*" --> "1" database AdminService "*" --> "1" database @@ -137,6 +141,7 @@ RkiBundeslaenderService "*" --> "1" database RkiLandkreiseService "*" --> "1" database RkiVaccinationService "*" --> "1" database OwidService "*" --> "1" database +UserService "*" --> "1" database ApplicationService : SQLAlchemy database ApplicationServiceDownload : SQLAlchemy database AdminService : SQLAlchemy database @@ -146,4 +151,5 @@ RkiBundeslaenderService : SQLAlchemy database RkiLandkreiseService : SQLAlchemy database RkiVaccinationService : SQLAlchemy database OwidService : SQLAlchemy database +UserService : SQLAlchemy database @enduml diff --git a/docs/uml_blueprints/user/user_domain_model.png b/docs/uml_blueprints/user/user_domain_model.png new file mode 100644 index 0000000000000000000000000000000000000000..03eb6ffca0db08ae40ad432bff142f47894beecd Binary files /dev/null and b/docs/uml_blueprints/user/user_domain_model.png differ diff --git a/docs/uml_blueprints/user/user_domain_model.txt b/docs/uml_blueprints/user/user_domain_model.txt new file mode 100644 index 0000000000000000000000000000000000000000..9790187444594ce72a5d5268b432e87bd95a9dd1 --- /dev/null +++ b/docs/uml_blueprints/user/user_domain_model.txt @@ -0,0 +1,148 @@ +@startuml +class UserService << (S,red) Service >> { + database: String + limit_nr: Integer + task_database_drop_create() + run_admin_database_dump() + {classifier} -run_ome_shell_command(cmd) + {classifier} run_admin_database_dump_reimport() + {classifier} run_admin_database_drop() +} +class ApplicationPage << (T,#FF7700) Transient >> { + title: String + subtitle: String + subtitle_info: String +} +class ApplicationServiceConfig << (T,#FF7700) Transient >> { + limit_nr: Integer + data_path: String + slug: String + category: String + sub_category: String + tablename: String + cvsfile_name: String + url_src: String + cvsfile_path: String + msg_job: String + msg_ok: String + msg_error: String + create_config_for_who() + create_config_for_rki_vaccination() + create_config_for_owid() + create_config_for_ecdc() + create_config_for_rki_bundeslaender() + create_config_for_rki_landkreise() +} +class ApplicationServiceDownload << (S,red) Service >> { + -log_error() + -log_success() + -prepare_download() + -download_with_wget() + -download_with_subprocess_and_os_native_wget() + download_file() +} +class database << (S,#FF7700) Singleton >> { + {static} int port + {static} bool run_run_with_debug + {static} int ITEMS_PER_PAGE + app: Flask + db: SQLAlchemy + admin: Admin + app_cors: CORS + app_bootstrap: Bootstrap + create_app() + create_db(my_app) + create_db_test(my_app) + create_celery(my_app) + create_admin(my_app) +} +class user_views_frontend << (B,orchid) Boundary >> { + url_user_index() + url_user_tasks() + url_user_info() +} +class user_celery_tasks << (B,orchid) Boundary >> { + task_user_alive_message() + task_user_database_drop_create() + task_user_import_all_files() + task_user_update_dimension_tables_only() + task_user_update_fact_table_initial_only() + task_user_update_fact_table_incremental_only() + task_user_update_star_schema_initial() + task_user_update_star_schema_incremental() +} +class user_views_for_tasks << (B,orchid) Boundary >> { + url_user_database_dump() + url_user_database_dump_reimport() + url_user_database_dropcreate_only() + url_user_database_drop() + url_user_download_all_files() + url_user_import_all_files() + url_user_update_dimension_tables_only() + url_user_update_fact_table_initial_only() + url_user_update_fact_table_incremental_only() + url_user_update_star_schema_initial() +} +class application_services << (P,yellow) Proxy >> { + +} +class AdminService << (P,red) Service >> { + +} +class ApplicationService << (S,red) Service >> { + +} +class WhoService << (S,red) Service >> { + +} +class EcdcService << (S,red) Service >> { + +} +class RkiVaccinationService << (S,red) Service >> { + +} +class RkiBundeslaenderService << (S,red) Service >> { + +} +class RkiLandkreiseService << (S,red) Service >> { + +} +class OwidService << (S,red) Service >> { + +} +ApplicationServiceDownload "*" --> "1" ApplicationServiceConfig: cfg +user_views_frontend "1" --> "1" application_services: application_services +user_views_frontend "*" --> "1" ApplicationPage: page_info +user_celery_tasks "1" --> "1" application_services: application_services +user_views_for_tasks "1" --> "1" application_services: application_services +user_views_for_tasks "*" --> "1" ApplicationPage: page_info +application_services "*" --> "1" ApplicationService: application_service +application_services "*" --> "1" AdminService: admin_service +application_services "*" --> "1" WhoService: who_service +application_services "*" --> "1" EcdcService: ecdc_service +application_services "*" --> "1" RkiVaccinationService: rki_vaccination_service +application_services "*" --> "1" RkiBundeslaenderService: rki_service_bundeslaender +application_services "*" --> "1" RkiLandkreiseService: rki_service_landkreise +application_services "*" --> "1" OwidService: owid_service +application_services "*" --> "1" UserService: user_service +ApplicationService "*" --> "1" database +ApplicationServiceDownload "*" --> "1" database +AdminService "*" --> "1" database +WhoService "*" --> "1" database +EcdcService "*" --> "1" database +RkiBundeslaenderService "*" --> "1" database +RkiLandkreiseService "*" --> "1" database +RkiVaccinationService "*" --> "1" database +OwidService "*" --> "1" database +UserService "*" --> "1" database +ApplicationService : SQLAlchemy database +ApplicationServiceDownload : SQLAlchemy database +AdminService : SQLAlchemy database +WhoService : SQLAlchemy database +EcdcService : SQLAlchemy database +RkiBundeslaenderService : SQLAlchemy database +RkiLandkreiseService : SQLAlchemy database +RkiVaccinationService : SQLAlchemy database +OwidService : SQLAlchemy database +UserService : SQLAlchemy database +@enduml diff --git a/docs/uml_blueprints/user/user_use_cases.png b/docs/uml_blueprints/user/user_use_cases.png new file mode 100644 index 0000000000000000000000000000000000000000..d3452042091df0b49a8611b0852df70ad7ad1e74 Binary files /dev/null and b/docs/uml_blueprints/user/user_use_cases.png differ diff --git a/docs/uml_blueprints/user/user_use_cases.txt b/docs/uml_blueprints/user/user_use_cases.txt new file mode 100644 index 0000000000000000000000000000000000000000..c72d3379e5b0d796c1ceec542e2998840a99bbd4 --- /dev/null +++ b/docs/uml_blueprints/user/user_use_cases.txt @@ -0,0 +1,60 @@ +@startuml +left to right direction +actor Visitor as vu +package user { + actor SysAdmin as su + actor Admin as au +} +package user_views_frontend { + usecase url_user_index as UC1 + usecase url_user_tasks as UC2 + usecase url_user_info as UC3 +} +package user_views_for_tasks { + usecase url_user_database_dump as UC51 + usecase url_user_database_dump_reimport as UC52 + usecase url_user_database_drop as UC53 + usecase url_user_download_all_files as UC54 + usecase url_user_alive_message_start as UC55 + usecase url_user_database_dropcreate_only as UC56 + usecase url_user_import_all_files as UC57 + usecase url_user_update_dimension_tables_only as UC58 + usecase url_user_update_fact_table_initial_only as UC59 + usecase url_user_update_fact_table_incremental_only as UC60 + usecase url_user_update_star_schema_initial as UC61 + usecase url_user_update_star_schema_incremental as UC62 +} +package user_celery_tasks { + usecase task_user_alive_message as UC105 + usecase task_user_database_drop_create as UC106 + usecase task_user_import_all_files as UC107 + usecase task_user_update_dimension_tables_only as UC108 + usecase task_user_update_fact_table_initial_only as UC109 + usecase task_user_update_fact_table_incremental_only as UC110 + usecase task_user_update_star_schema_initial as UC111 + usecase task_user_update_star_schema_incremental as UC112 +} +au --> UC1 +au --> UC2 +au --> UC3 +su --> UC51 +su --> UC52 +su --> UC53 +au --> UC54 +au --> UC55 +au --> UC56 +au --> UC57 +au --> UC58 +au --> UC59 +au --> UC60 +au --> UC61 +au --> UC62 +UC55 --> UC105 +UC56 --> UC106 +UC57 --> UC107 +UC58 --> UC108 +UC59 --> UC109 +UC60 --> UC110 +UC61 --> UC111 +UC62 --> UC112 +@enduml \ No newline at end of file