Kantai235 / kaobei.opendata

純靠北工程師 資料開放平臺
18 stars 5 forks source link

協作者名單 #13

Open Kantai235 opened 5 years ago

Kantai235 commented 5 years ago

後台

tico88612 commented 5 years ago
  1. 前台多個「協作者名單」選項
  2. 剛剛想到的資料表
編號 協作項目
1 功德名單
2 公告系統
編號 協作項目編號 協作者編號
1 1 212
2 1 213
3 2 213

排行高到低我再想想

tico88612 commented 5 years ago

排行直接做SQL

我在想頭像跟姓名要一起顯示,或者直接顯示姓名就好?

協作項目全部列舉顯示還是多字就刪除?

到時候可能看排版的樣式做微調吧

名次 頭像 姓名 協作項目
1 頭像.jpg 請不要大喊趕羚羊 功德名單、公告系統、首頁、使用者...
2 頭像2.jpg 或者賽羚羊 功德名單、公告系統
2 頭像3.jpg 這裡不是大草原 公告系統、首頁
4 頭像4.jpg 不會有羚羊出現 首頁

版主覺得 OK 就 Assign 吧!

Kantai235 commented 5 years ago

我仔細想了一下後,排行不要做成 Tabel 比較好,因為這不是每分每秒都會變動的東西,所以兩種方式:

  1. 透過 Schedule 來排程更新排行榜的 JSON 資料。
  2. 協作相關項目每次更新時,觸發 Event Listeners 去更新 JSON 資料。

會這麼做的原因是因為這個排行榜會時常去讀,但這些資料卻可能只是幾天更新一次,如果資料儲存在資料庫當中的話,會變成相同的資料一直讀取,如果有這種情況發生,把資料轉成 JSON 儲存在 storage 當中會比較好。

另外協作項目、協作者名單的資料表欄位再加上 created_atupdated_atdeleted_at,做到軟刪除(SoftDelete)。

頭像的部分可以透過一些方法來獲取,因為 users 這張資料表有 avatar_typeavatar_location 這兩個欄位,分別紀錄使用者頭像類別、頭像儲存位置,所以在程式當中可以透過 App\Models\Auth\User 這個 ORM 當中的 getPicture 方法來獲取完整的使用者頭像連結。

participant_project

id name description created_at updated_at deleted_at
1 功德名單 bla bal bal ... 2019-09-09 11:30:00 2019-09-09 11:30:00 null
2 公告系統 bla bal bal ... 2019-09-09 11:30:00 2019-09-09 11:30:00 null

participant_has_model

id project_id model_id model_type created_at updated_at deleted_at
1 1 212 App\Models\Auth\User 2019-09-09 11:30:00 2019-09-09 11:30:00 null
2 1 213 App\Models\Auth\User 2019-09-09 11:30:00 2019-09-09 11:30:00 null
3 2 213 App\Models\Auth\User 2019-09-09 11:30:00 2019-09-09 11:30:00 null