diff --git a/doc/source/architecture/erdmodel.plantuml.txt b/doc/source/architecture/erdmodel.plantuml.txt index b172e1d..b257dbc 100644 --- a/doc/source/architecture/erdmodel.plantuml.txt +++ b/doc/source/architecture/erdmodel.plantuml.txt @@ -9,28 +9,52 @@ skinparam linetype ortho entity "user" as user { *id : number <> -- - *nickname : text(25) - *created: datetime - *updated: datetime + *auth_id : text(50) +' *created: datetime +' *updated: datetime } -entity user_profile { +entity tag { *id : number <> - *userid + *tag_type_id +-- + *name: text +} + +entity tag_type { + *id : number <> +-- + *name: text +} + +tag_type ||--o{ tag + +entity profile { + *id : number <> + *user_id -- + *nick_name : text(25) pronouns : text(25) fullname: text(100) volunteerwork: text(4000) freetext: text(4000) - *profile_visible: bool + visible: bool *created: datetime *updated: datetime } -user ||-o{ user_profile : user_has_profile +user ||-o{ profile : user_has_profile -entity user_address { +entity token { *id : number <> - *userid + *user_id + -- + *token : text(36) +} +user ||-o{ token : user_has_token + +entity profile_address { + *id : number <> + *profile_id -- street: text(25) house_number: text(10) @@ -39,52 +63,40 @@ entity user_address { city: text(25) country: text(25) } -user ||-o{ user_address : user_has_address +profile ||-o{ profile_address : profile_has_address -entity user_skill { -*user_id: id +entity profile_skill { +*profile_id: id *skill_id: id -- -level: number +*level: number } -entity user_language { -*user_id: id +entity profile_language { +*profile_id: id *language_id: id -- level: number } -entity skill { +entity profile_experience { *id : number <> --- - *name: text(25) -} - -entity user_experience { - *id : number <> - *user_id + *profile_id -- description start: date end: date } -entity user_experience_experience { - *user_experience_id +entity profile_experience_experience { + *profile_experience_id *experience_id } -user ||--o{ user_experience : user_has_experience -user_experience ||--o{ user_experience_experience : user_experience_is_tagged_with - -entity experience { - *id : number <> - -- - *name: text(25) -} -user_experience_experience }o--|| experience +profile ||--o{ profile_experience : user_has_experience +profile_experience ||--o{ profile_experience_experience : user_experience_is_tagged_with +profile_experience_experience }o--|| tag entity user_search_topic { *user_id @@ -92,20 +104,14 @@ entity user_search_topic { -- } -entity user_contact { +entity profile_contact { *id : number <> - *user_id + *profile_id *contact_type_id -- *content: text(200) } -entity topic { - *id : number <> --- - *name: text -} - entity language { *id : number <> -- @@ -118,16 +124,16 @@ entity contact_type { *name: text(25) } -user ||--o{ user_skill : user_has_skills -user_skill ||--o{ skill +profile ||--o{ profile_skill : user_has_skills +profile_skill ||--o{ tag -user ||--o{ user_language : user_speaks_language -user_language||--{ language +profile ||--o{ profile_language : user_speaks_language +profile_language||--{ language user ||--o{ user_search_topic -user_search_topic ||--o{ topic +user_search_topic ||--o{ tag -user ||-o{ user_contact -user_contact ||-o{ contact_type +profile ||-o{ profile_contact +profile_contact ||-o{ contact_type @enduml