diff --git a/docs/blueprints/all/uml/all_domain_model_star_schema.txt b/docs/blueprints/all/uml/all_domain_model_star_schema.txt new file mode 100644 index 0000000000000000000000000000000000000000..244b3efef67cebe6dd14538d7f29daf0e9545f62 --- /dev/null +++ b/docs/blueprints/all/uml/all_domain_model_star_schema.txt @@ -0,0 +1,201 @@ +@startuml +package covid19.blueprints.all { + entity AllDateReported { + id: Integer + date_reported: String + year_week: String + datum: Date + year: Integer + month: Integer + day_of_month: Integer + day_of_week: Integer + week_of_year: Integer + get_name_for_weekday() + {classifier} get_names_for_weekday() + {classifier} get_datum_parts(my_date_rep: String) + {classifier} get_datum(my_year: Integer, my_month: Integer, my_day: Integer) + {classifier} get_datum_as_str(my_year: Integer, my_month: Integer, my_day: Integer) + {classifier} my_year_week(my_iso_year: Integer, week_number: Integer) + {classifier} create_new_object_factory(my_date_rep: String) + } + entity AllLocationGroup { + id: Integer + location_group: String + {classifier} remove_all() + {classifier} get_all_as_page(page: Integer) + {classifier} get_all() + {classifier} get_all_as_dict() + {classifier} get_by_id(other_id: Integer) + {classifier} find_by_id(other_id: Integer) + } + entity AllLocation { + id: Integer + location: String + {classifier} remove_all() + {classifier} get_all_as_page(page: Integer) + {classifier} get_all() + {classifier} get_all_as_dict() + {classifier} get_by_id(other_id: Integer) + {classifier} find_by_id(other_id: Integer) + } + entity AllData { + id: Integer + {classifier} remove_all() + {classifier} get_all_as_page(page: Integer) + {classifier} get_all() + {classifier} get_all_as_dict() + {classifier} get_by_id(other_id: Integer) + {classifier} find_by_id(other_id: Integer) + } + entity RkiDateReported { + id: Integer + date_reported: String + year_week: String + datum: Date + year: Integer + month: Integer + day_of_month: Integer + day_of_week: Integer + week_of_year: Integer + get_name_for_weekday() + {classifier} get_names_for_weekday() + {classifier} get_datum_parts(my_date_rep: String) + {classifier} get_datum(my_year: Integer, my_month: Integer, my_day: Integer) + {classifier} get_datum_as_str(my_year: Integer, my_month: Integer, my_day: Integer) + {classifier} my_year_week(my_iso_year: Integer, week_number: Integer) + {classifier} create_new_object_factory(my_date_rep: String) + } + 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() + } +} +package . { + 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 application_workers << (B,orchid) Boundary >> { + run_mq(my_app, my_celery) + run_app(my_app) + } + class application_views << (B,orchid) Boundary >> { + url_home() + url_root() + } +} +package covid19.blueprints.all { + class application_services << (P,yellow) Proxy >> { + + } +} +package covid19.blueprints.app_application { + class ApplicationService << (S,red) Service >> { + + } + class AdminService << (S,red) Service >> { + + } +} +package covid19.blueprints.who { + class WhoService << (S,red) Service >> { + + } +} +package covid19.blueprints.ecdc { + class EcdcService << (S,red) Service >> { + + } +} +package covid19.blueprints.rki_vaccination { + class RkiVaccinationService << (S,red) Service >> { + + } +} +package covid19.blueprints.rki_cases { + class RkiBundeslaenderService << (S,red) Service >> { + + } +} +package covid19.blueprints.rki_cases { + class RkiLandkreiseService << (S,red) Service >> { + + } +} +package covid19.blueprints.owid { + class OwidService << (S,red) Service >> { + + } +} +ApplicationDateReported <|-- RkiDateReported +ApplicationServiceDownload "*" --> "1" ApplicationServiceConfig: cfg +application_workers "1" --> "1" application_services: application_services +application_views "1" --> "1" application_services: application_services +application_views "*" --> "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 +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 +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 +@enduml