Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

個人頁面 #35

Open
1 of 2 tasks
Tracked by #33
Bogay opened this issue Mar 24, 2023 · 9 comments
Open
1 of 2 tasks
Tracked by #33

個人頁面 #35

Bogay opened this issue Mar 24, 2023 · 9 comments
Labels
enhancement New feature or request

Comments

@Bogay
Copy link
Member

Bogay commented Mar 24, 2023

@Bogay Bogay added the enhancement New feature or request label Mar 24, 2023
@skyhong2002
Copy link
Member

skyhong2002 commented Mar 24, 2023

以下是我參考不同 Logging Service 列出的可以出現在個人頁面的資料,建議可以一個一個開 issue 會看起來不會那麼複雜(?

個人資料方面:

  • Photo
  • Handle
  • Contact
  • Bio

系統互動方面

  • Following users
  • Badge (成就系統)

課程互動方面

  • 已收藏的課程列表
  • Recent Activity (List, like, review, ...)
  • 評論的課程列表
  • 最喜歡的課程(可以選五個左右的課程放在個人首頁上)

Metadata 展示

  • 總體數據包含 評論星等分佈、總收藏課程數量、總修習學分數量、總評論數量等等

overall

  • 個資/首頁展示內容設定頁面

以上有不少內容都需要動到 Schema 感覺還要再拉出來討論
目前有關課程關鍵字等等應用都還沒放上來,有需要再說

如果需要更多靈感可以看看 Backloggd kitsu 等等平台,網址連到我ㄉ頁面請斟酌觀賞><

@skyhong2002
Copy link
Member

  • 根據使用者互動資料推薦課程

@Bogay
Copy link
Member Author

Bogay commented Apr 23, 2023

基於上週五的討論整理了一下目前需要處理的內容,@skyhong2002 我是認為可以再拆得細一點,就不容易被我 block 住,像是 auth 跟 course 可能就不大會干擾到。然後我發現 Recent Activity 中的 List 我不明白代表什麼,需要你補充說明細節。

現有的相關 API

  • 課程查詢
    • 分成 instructor, program, provider
    • 參數有:q, page, types, order, dir
  • 個人資料查詢
    • 會拿到:username, roles, email, avatar, intro, schools

需要調整或補充的部分

  • /api/auth/self 補上 contacts 的回傳
    • 其他個人頁面需要的資料其實他都有包含了,所以把 contacts 也加在裡面我認為是合理
  • 編輯 profile 的 API
    • 資料不多所以或許整包傳就好?
    • 但 contact 是 list,能夠支援 JSON patch 的 payload 或許更理想,可以做為以後改進的方向
    • Favorite,這也是個 Course 的 list,為了方便編輯 profile 我想會需要有個搜尋課程的頁面
    • 以後可能還需要能夠調整哪些資訊不公開,隱私上會更好
  • Follow 的 API
    • 除了可以 Follow / Unfollow 一個帳號,我們還缺乏可以瀏覽他人帳號的功能,要加上去後這功能才有意義
  • 課程相關
    • 目前沒有任何 API 是在做相關功能的,而我們會需要
      • Comment / Review,在 對課程評論 / 留言 #23 有討論
      • Like / 收藏,這應該只要標上一個 relationship 即可,比起上面的操作來說較輕量
    • 除了寫入的操作變多,我認為針對這些資料能夠把它們整合進去搜尋課程的 API 會更好?可以不用為每種搜尋需求開出單獨的 API,但一個可能的麻煩是會讓這隻 API 變得太複雜,像是如果我想查詢 已收藏的課程,這種與個人帳號相關的資料就需要在產生 Cypher Query 的時候做好權限控管,避免不必要的資訊洩漏。 @JacobLinCool 你怎麼看?

@skyhong2002
Copy link
Member

List 指的是能夠讓使用者把不同課程合併成一個列表,獨立於評論且互不影響,像是「最正教授排行榜」之類ㄉ,效果可能像這樣
不過剛剛發現這個功能不太算是 Activity 的一種,抱歉誤植><
同時這個功能的重要程度排名在很後面,但會是一個很實用的功能,或許之後再做也可以。

@skyhong2002
Copy link
Member

基於上週五的討論整理了一下目前需要處理的內容,@skyhong2002 我是認為可以再拆得細一點,就不容易被我 block 住,像是 auth 跟 course 可能就不大會干擾到。

你指的是把 auth 和 course 分別建立新的 issue 嗎?確實這樣不錯,等我有空再開。
可以把「課程互動方面」的內容直接搬過來,但 auth 有包含哪些?只有個人資料相關的內容嗎?

@skyhong2002
Copy link
Member

skyhong2002 commented Apr 24, 2023

  • Follow 的 API
    • 除了可以 Follow / Unfollow 一個帳號,我們還缺乏可以瀏覽他人帳號的功能,要加上去後這功能才有意義

想先確認目前的網址如果要連到某人的頁面會是什麼?像是 the.domain/user/(handle)
雖然不知道有沒有討論過,但我覺得用 @ ,長 unicourse.tw/@handle 會是我覺得最理想的方式

@Bogay
Copy link
Member Author

Bogay commented Apr 24, 2023

可以把「課程互動方面」的內容直接搬過來,但 auth 有包含哪些?只有個人資料相關的內容嗎?

依照目前的需求,確實是只有跟個人資料相關的 API 吧,可能 follow 的也是跟這有關?但另外開感覺比較自然,不用掛在 /auth 底下。

想先確認目前的網址如果要連到某人的頁面會是什麼?像是 the.domain/user/(handle) 嗎

目前沒有相關設計,所以需要加。
使用 @ 作為前綴應該是沒問題,我想其他頁面是不會撞到,@JacobLinCool 你覺得呢?

@Bogay
Copy link
Member Author

Bogay commented Apr 28, 2023

雖然不知道有沒有討論過,但我覺得用 @ ,長 unicourse.tw/@handle 會是我覺得最理想的方式

紀錄一下幾個網站的 URL 當作參考,晚點可以再討論看看是否採用 @ 開頭

  • backloggd: /u/{handle}
  • kitsu: /users/{handle}
  • fb: /{handle}
  • ig: /{handle}
  • twitter: /{handle}
  • mastodon: /@{handle}
  • github: /{handle}
  • gitlab: /{handle}
  • hackmd: /@{handle}

BTW,twitter 的個人首頁是用 /home 當作 URL,然後我發現有個帳號也叫做 home,所以我沒辦法打開看他發了什麼推,就算登出後再開也是會跳轉到登入頁面

圖片

@JacobLinCool
Copy link
Member

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: 🏗 In progress
Development

No branches or pull requests

3 participants