/v1/users/{{user_id}}/articles
#87 Add mock for repository.GetPopularArticleRecords
and repository.BBSPopularArticleRecord since go-bbs has not implemented it yet *:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/86|#86> *:memo: 相關的 issue / Related Issues* • <https://github.com/Ptt-official-app/Ptt-backend/issues/50|#50> *:pick: 變更內容 / Details of Changes* • add `BBSPopularArticleRecord` to mock `bbs.PopularArticleRecord` since go-bbs has not implemented it yet • add `GetPopularArticles()` to interface `Repository`
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/88|#88> *:pick: 變更內容 / Details of Changes* 1. 增加了 1.16 的 ci 測試 2. 將上個星期的 development 的 code 合併進 development _enalbe_lint 3. 移除空白跟 id to ID
*實作細節 / Details of Implement* internal\delivery\http\route_users.go:76 - getUserFavorites 此 route 尚未實作測試 *期程 / Schedule* • 討論時間:一天 • 實作時間:三天 • 確認時間:一天 *相關文件 / Documents* 可參考 <https://github.com/Ptt-official-app/Ptt-backend/issues/45|#45> *備註* 開發前請先參考 FOR_TEST_DEVELOPERS.md 裡的說明
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/110|#110> *:memo: 相關的 issue / Related Issues* • <https://github.com/Ptt-official-app/Ptt-backend/issues/109|#109> *:pick: 變更內容 / Details of Changes* 增加 route_users 相關的註解
#113 implement popular articles (http)
*:clap: 解決掉的 issue / Resolved Issues* • closed <https://github.com/Ptt-official-app/Ptt-backend/issues/107|#107> *:memo: 相關的 issue / Related Issues* • <https://github.com/Ptt-official-app/Ptt-backend/issues/83|#83> • <https://github.com/Ptt-official-app/Ptt-backend/issues/86|#86> *:pick: 變更內容 / Details of Changes* • 實作熱門文章的 http 套件
#54 解決go lint上顯示的warning,包含縮寫及error命名、一致的receiver命名等
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/go-bbs/issues/52|#52> • close <https://github.com/Ptt-official-app/go-bbs/issues/53|#53> *:pick: 變更內容 / Details of Changes* • 縮寫命名 • JSON • UI • ID • 一致的receiver命名 • Error命名 • increment (E.g., idx++) • unreachable code • typo • PosOf省略bbs名稱
#63 add user information struct
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/go-bbs/issues/38|#38> *:memo: 相關的 issue / Related Issues* • None *:pick: 變更內容 / Details of Changes* • 新增 user information 相關 `struct` (<https://github.com/ptt/pttbbs/blob/4d56e77f264960e43e060b77e442e166e5706417/include/pttstruct.h#L349|REF>)
#117 [建議] 熱門文章的文章列表改由 Ptt-backend 做統計篩選
*原本作法的問題 / Existed Problem* • 目前 PTT 的資料庫裡面是沒有熱門文章的 • 大家市面上看到的熱門文章其實是第三方網站幫PTT統計出來的,統計演算法應該也是各家不同 • 根據 <https://github.com/Ptt-official-app/Ptt-backend/issues/51|#51> 討論,應該在 Ptt-backend 這邊做會比較好? *實作細節 / Details of Implement* • 大致上會在 usecase 或是哪邊每隔一段時間就掃描一次目前的所有看板和所有文章,把可以統計的看板(公開看板)的文章統計出前幾名放在熱門文章資料庫(可能先存在 Process 裡面) • 在 usecase 有使用者請求時直接輸出這個資料庫的結果 *期程 / Schedule* • 討論時間:一週,到 3/13 • 實作時間:一週,到 3/20 • 確認時間:一週,到 3/27 *相關文件 / Documents* • 在其他網頁的熱門文章參考:<https://www.pttweb.cc/hot/all/today|https://www.pttweb.cc/hot/all/today> • 熱門看板: <https://www.ptt.cc/bbs/hotboards.html|https://www.ptt.cc/bbs/hotboards.html> • 在PTT八卦版上的相關討論: <https://www.ptt.cc/bbs/Gossiping/M.1592178635.A.0F8.html|https://www.ptt.cc/bbs/Gossiping/M.1592178635.A.0F8.html>
#120 add repository function for board post limit information
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/116|#116> *:memo: 相關的 issue / Related Issues* • <https://github.com/Ptt-official-app/Ptt-backend/issues/116|#116> • <https://github.com/Ptt-official-app/Ptt-backend/issues/63|#63> *:pick: 變更內容 / Details of Changes* • 參考 <https://github.com/Ptt-official-app/go-bbs/issues/61|go-bbs的討論> • 在 repository/board.go 新增以下 mock interfaces: • PostsLimitedBoardRecord • LoginsLimitedBoardRecord • BadPostLimitedBoardRecord • repository/repository.go 的 Repository interface 提供以下 method • GetBoardPostsLimited() • GetBoardLoginsLimited() • GetBoardBadPostLimited()
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/121|#121> • close #0 *:memo: 相關的 issue / Related Issues* • <https://github.com/Ptt-official-app/Ptt-backend/issues/17|#17> *:pick: 變更內容 / Details of Changes* 變更包名
#73 [主線] [PTT] 實作 route_boards_treasures_test.go
實作細節 / Details of Implement 實作 <https://github.com/Ptt-official-app/Ptt-backend/issues/36|#36> 內的討論進行實作 期程 / Schedule 討論時間: 三天 實作時間: 一天 確認時間: 一天 相關文件 / Documents route_boards_treasures.go route_boards_treasures_test.go 備註: pr 請指向 development_enable_lint branch
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/110|#110> *:memo: 相關的 issue / Related Issues* • <https://github.com/Ptt-official-app/Ptt-backend/issues/109|#109> *:pick: 變更內容 / Details of Changes* 增加 route_users 相關的註解
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/59|#59> *:memo: 相關的 issue / Related Issues* • <https://github.com/Ptt-official-app/Ptt-backend/issues/59|#59> *:pick: 變更內容 / Details of Changes* • 實作 http/usecase/repository • 測試 http/usecase
*實作細節 / Details of Implement* 根據目前架構,應該分成 `delivery/http` `usecase` `repository` 三個子 ISSUE 下去實作。 ☐ http 部分請依照文件實作並且有初步的 testcode。 ☐ usecase 部分應該是直接將 repository 的結果輸出即可。 ☐ repository 因為 go-bbs 可能還沒完成,因此需要先 mock 一個暫時性的結果等待 go-bbs 完成之後進行串接。 • ISSUE <https://github.com/Ptt-official-app/Ptt-backend/issues/116|#116> *期程 / Schedule* • 討論時間: 一週, 到 3/9 • 實作時間: 一週, 到 3/16 • 確認時間: 一週, 到 3/23 注意這個 endpoint 是 `/v1/boards/{{board_id}}/information` *相關文件 / Documents* <https://docs.google.com/document/d/18DsZOyrlr5BIl2kKxZH7P2QxFLG02xL2SO0PzVHVY3k|PTT 後端系統協定>
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/go-bbs/issues/67|#67> *:memo: 相關的 issue / Related Issues* 無 *:pick: 變更內容 / Details of Changes* 增加了 windows build 的支援。
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/128|#128> • close #0 *:memo: 相關的 issue / Related Issues* *:pick: 變更內容 / Details of Changes* 增加對 go-bbs 0.3 support 跟修正 lint
#70 Add serialization for BoardHeader
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/go-bbs/issues/65|#65> *:pick: 變更內容 / Details of Changes* • 補足BoardHeader剩餘欄位 • 新增對應測試,但因原本的測試資料中在BrdName及title這兩個field中有塞其他資料(NewBoardHeaderWithByte才要用split取\x00之前的),所以沒辦法全測,改測前兩個。
#134 實作 #route board treasures test
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/73|#73> *:pick: 變更內容 / Details of Changes* • Implement MockUsecase.GetBoardTreasures • Added TestFetchBoardTreasures
#127 Implement get board information for usecase and delivery/http
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/126|#126> *:memo: 相關的 issue / Related Issues* • <https://github.com/Ptt-official-app/Ptt-backend/issues/63|#63> *:pick: 變更內容 / Details of Changes* • 實作 http/usecase • 測試 http/usecase
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/137|#137> *:memo: 相關的 issue / Related Issues* • <https://github.com/Ptt-official-app/Ptt-backend/issues/137|#137> *:pick: 變更內容 / Details of Changes* • delivery/http/route.go • delivery/http/route_boards.go 中新增 getBoardSettings、marshalBoardHeaderSettings
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/88|#88> • close #0 *:memo: 相關的 issue / Related Issues* • <https://github.com/Ptt-official-app/Ptt-backend/issues/90|#90> *:pick: 變更內容 / Details of Changes* 修正 lint 跟合併了 development
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/90|#90> *:pick: 變更內容 / Details of Changes* 二合一
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/110|#110> *:pick: 變更內容 / Details of Changes* 增加註解
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/go-bbs/issues/39|#39> *:pick: 變更內容 / Details of Changes* OpenFavFile 錯誤處理 增加對 ReadUserFavoriteRecordsFile test
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/137|#137> *:memo: 相關的 issue / Related Issues* • <https://github.com/Ptt-official-app/Ptt-backend/issues/137|#137> *:pick: 變更內容 / Details of Changes* • delivery/http/route.go • delivery/http/route_boards.go 中新增 getBoardSettings、marshalBoardHeaderSettings
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/Ptt-backend/issues/110|#110> *:pick: 變更內容 / Details of Changes* 增加註解
*:clap: 解決掉的 issue / Resolved Issues* • close <https://github.com/Ptt-official-app/go-bbs/issues/39|#39> *:pick: 變更內容 / Details of Changes* OpenFavFile 錯誤處理 增加對 ReadUserFavoriteRecordsFile test
#148 [主線] [PTT] 實作使用者設定 -- 修改usecase和repository
*實作細節 / Details of Implement* • 修改 internal/usecase/user.go • 修改GetUserPreferences內的data • 修改 internal/repsitory/user.go • 新增dummy function給usecase *期程 / Schedule* • 討論時間: 兩天, 到 3/25 • 實作時間: 兩天, 到 3/27 • 確認時間: 兩天, 到 3/29 *相關文件 / Documents* 主issue: <https://github.com/Ptt-official-app/Ptt-backend/issues/62|#62> <https://docs.google.com/document/d/18DsZOyrlr5BIl2kKxZH7P2QxFLG02xL2SO0PzVHVY3k|PTT 後端系統協定>
*實作細節 / Details of Implement* 根據目前架構,應該分成 `delivery/http` `usecase` `repository` 三個子 ISSUE 下去實作。 ☑︎ http 部分請依照文件實作並且有初步的 testcode。 • ISSUE <https://github.com/Ptt-official-app/Ptt-backend/issues/137|#137> ☐ usecase 部分應該是直接將 repository 的結果輸出即可。 ☐ repository 因為 go-bbs 可能還沒完成,因此需要先 mock 一個暫時性的結果等待 go-bbs 完成之後進行串接。 注意這個 ISSUE 指的是「細部資訊」 `/v1/boards/{{board_id}}/settings` *期程 / Schedule* • 討論時間: 一週, 到 3/9 • 實作時間: 一週, 到 3/16 • 確認時間: 一週, 到 3/23 *相關文件 / Documents* <https://docs.google.com/document/d/18DsZOyrlr5BIl2kKxZH7P2QxFLG02xL2SO0PzVHVY3k|PTT 後端系統協定>
#151 [主線] [PTT] 將 readme.md 調整對開發者更易上手的格式
*實作細節 / Details of Implement* 目前的話,readme.md 皆是以歷史背景出發點再說的。 開發者對於如何參與這個專案是一頭霧水的。 目前我個人看法是應該直接把 milestone 擺在顯眼的地方,並且每個 isssue 都應該要確實的 assign 給某個要接的人。 避免出現明明這個 issue 有人再做卻要看討論才知道。 然後應該要把時程表放在顯眼的地方,哪邊做了哪邊沒做,方便開發者知道目前進度。 *期程 / Schedule* 無,討論到大家滿意為止 *相關文件 / Documents* README.md