Skip to content

Latest commit

 

History

History
143 lines (127 loc) · 4.57 KB

test.md

File metadata and controls

143 lines (127 loc) · 4.57 KB
erDiagram
	user ||--|| user_info : "1人のユーザーは1つ以上の投稿を持つ"
	posts ||--o{ logs : "1つの投稿は0以上のコメントを持つ"
	user_info ||--o{ posts : "1人のユーザーは0個以上の投稿を持つ"
	user_info ||--|{ programming_languages : "1人のユーザーは1つ以上のスキル持つ"
	programming_languages ||--|| language : "skillsは一つのスキルを持つ"
	user_info ||--o| interested_industory : "1つユーザーは0個以上の教務のある業界を持つ"
	user_info ||--|| affiliation : "一つのuser_infoは一つのaffiliationを持つ"
	interested_industory ||--|| industory : "1つ興味のある業界は一つの業界を持つ"
	logs ||--o{ reaction : "一つのコメントは0個以上のリアクションを持つ"
	posts ||--o{ requirement_languages : "一つの投稿は0個以上の必須スキルを持つ"
	requirement_languages ||--|{ language : "一つのrequirement_languagesは0個以上のlanguageを持つ"
	user_info ||--o{ user_post_relationship  : "一つのユーザ情報が0個以上の興味がある投稿を持つ"
	user_post_relationship ||--|| posts : "一つのuser_post_relationshipは一つのpostsを持つ"
 	user_post_relationship ||--|| application_level : "一つのuser_post_relationshipは一つのapplication_levelを持つ"
    	user_info ||--|{ skills : "user_infoは一つ以上のskillsを持つ"
    	skills ||--|| skill : "skillsは一つ以上のskillを持つ"
	user_info ||--o{ logs : "user_infoは0個以上のlogsを持つ"
	user_info ||--|| reaction : "1人のユーザーは1つのreactionを持つ"
 
 user {
  int user_id PK
  string e_mail "ユーザー名"
  string password "hash"
  timestamp created_at
  timestamp deleted_at
 }

 user_info {
  int id PK
  rearences user PK
  string e_mail "ユーザー名"
  string display_name "表示する名前"
  reference affiliation_id "所属:学部?学科?どのレベルまで"
  string lab  "研究室"
  string gender "性別"
  string hobby "趣味"
  string comment "コメント"
  string DiscordID "discord id"
  string X "X id"
  strinig FaceBook "FaceBookID"
  string free_form "勉強中スキル,参考書などの自由記述"
  timestamp created_at
  timestamp deleted_at
 }

 affiliation {
  int id PK
  string faculty "学部"
  string major "学科"
  string initial "学科略称"
 }

 skills {
  int id PK
  reference user_info_id FK
  reference skill_id FK
  int level "ユーザーのレベル(自己申告)"
 }

 skill {
  int id PK
  string skill_name "企画力,デザイン,フロントエンド,バックエンド,プレゼン力等"
 }

 programming_languages {
  int id PK
  reference user_info_id FK
  reference language_id "スキルID"
  int level
 }

 language {
  int id PK
  string language_name "スキル名(Java or Python etc..)"
	ine area "0:バックエンド,1:フロントエンド or 新しくテーブル作るか"
 }

 interested_industory {
  int id PK
  reference user_info_id FK
  reference industory_id FK
  int level "スキル習熟度"
 }

 industory {
  int id PK
  string name "業界名"
 }

 posts {
  int id PK
  references user_info_id FK "post投稿者(募集者)"
  string title "投稿タイトル"
  string event_name "イベント名"
  string event_url "イベントURL"
  timestamp launch "開催日時"
  timestamp deadline "募集締め切り日"
  int recruitment_numbers "募集人数"
  text description "投稿内容"
  string matching_message "マッチング成立時のメッセージ"
  timestamp created_at
  timestamp modifyed_at
  timestamp deleted_at
 }

 requirement_languages {
  int id PK
  reference ponts_id
  referemce language
 }

 logs {
  int id PK
  references posts_id FK
  references user_info FK "誰に紐ずくログか"
  string contents
  timestamp created_at
  timestamp deleted_at
 }

 reaction {
  int id PK
  reference logs_id FK
 reference user_info FK "誰のreactionか"
  int ReactionLevel "よろしく,ワイワイ,いいね,承知"
 }

 user_post_relationship  {
  int id PK
  reference user_info_id FK "興味ありした人のUser_info_id.user_info_idで検索すればユーザーが興味ありしたポスト情報が取得可能"
  reference posts_id FK "Post_idで検索すればpostに対して興味ありした人を取得可能"
  refafrence application_level_id FK
  boolean is_approved
 }

 application_level {
  int id PK
  string state "bookmark or 緩くやりたい or 参加したい or がちでやりたい"
 }

Loading