View Code? Open in Web Editor
NEW
The source code for NCKU_Trans website
Home Page: https://nckustudy.com/
PHP 88.95%
Shell 0.60%
Blade 10.45%
ncku_trans's Introduction
![Top Langs](https://camo.githubusercontent.com/a563b01d333268661d478e1d5e7c44415a23848706bc5e072639ff31c8ed3c4a/68747470733a2f2f6769746875622d726561646d652d73746174732e76657263656c2e6170702f6170692f746f702d6c616e67732f3f757365726e616d653d4a6961416e5457266c61796f75743d636f6d70616374266c616e67735f636f756e743d36267468656d653d64726163756c61)
- Web Development
- Frontend
- Typescript, Javascript(ES7), HTML, CSS, SASS
- React.js, Redux, Vue.js, JQuery
- Backend
- Software Development
My Medium
ncku_trans's People
Watchers
ncku_trans's Issues
Scope
Description
在創建 study 時,如果偵測到錯誤時,會直接回傳 status : fail 。
沒有清理掉一些先前創建的分類項目,造成資料庫一些資料永遠
沒辦法刪除,除非進到資料庫手動刪除。
Screenshot(if this is a bug)
Expected result/Spec
Description
在 #77 後。實作DB的CRUD。最後應該要提供以下API:
url |
method |
params |
authentication |
說明 |
目前進度 |
/api/get/study?from={id}&num={num} |
GET |
- |
|
回傳 confirm equal true 從id為{id} 的心得以前{num} 筆心得資料。若少於{num} 筆則剩下的全部回傳。 |
V |
/api/get/study/all?from={id}&num={num} |
GET |
- |
V |
回傳從id為{id} 的心得以前{num} 筆心得資料。若少於{num} 筆則剩下的全部回傳。 |
V |
/api/post/study |
POST |
同study心得schema |
|
新增一筆study心得資料 |
V |
/api/patch/study?id={id} |
PATCH |
confirm: true/false |
V |
更新id為{id} 的心得的confirm |
V |
/api/post/study?id={id} |
UPDATE |
同study心得schema |
V |
更新id為{id} 的心得的所有資料 |
V |
/api/delete/study?id={id} |
DELETE |
- |
V |
刪除id為{id} 的心得 |
V |
/api/get/studyType |
GET |
TBD |
|
取得所有study類別 |
V |
/api/post/studyType |
POST |
TBD |
|
新增一個新的study類別 |
V |
/api/post/studyType?id={id} |
UPDATE |
TBD |
V |
更新id為{id} 的study類別 |
V |
/api/delete/studyType?id={id} |
DELETE |
- |
V |
刪除id為{id} 的study類別 |
V |
/api/get/studyStat |
GET |
TBD |
|
取得所有study項目 |
V |
/api/post/studyStat |
POST |
TBD |
|
新增一個新的study統計項目 |
V |
/api/post/studyStat?id={id} |
UPDATE |
TBD |
V |
更新id為{id} 的study統計項目 |
V |
/api/delete/studyStat?id={id} |
DELETE |
- |
V |
刪除id為{id} 的study統計項目 |
V |
Screenshot(if this is a bug)
Expected result/Spec
Description
第一階段
讓GET study的API可以透過url傳入要篩選的類別、資料(有就好,不需要比較大小)
- input ex:
?typeFilter=a001,b002?statFilter=c001,d002
- output ex: 輸出是
類別uuid是a001或b002或是有資料uuid是c001或d002
的心得(全部都是聯集,只要有任一就輸出)
第二階段
讓GET study的API可以透過url傳入要篩選的關鍵字
- input ex:
?p=分享
- output ex: 輸出標題/內文包含
分享
字串的心得(全部都是聯集,只要有任一就輸出)
Screenshot(if this is a bug)
Expected result/Spec
Scope
- Page
- Browser/Device(if this is a bug)
Description
讓分享心得的輸入結果轉換到文章閱讀器內,提供給使用者預覽
Screenshot(if this is a bug)
Expected result/Spec
Scope
Description
請根據 feat/seo-php
這個branch繼續實作SEO相關的support。目前大部分的功能 #59 實作完了。剩下還沒做的包含
- meta和title
- 初次進入頁面時,meta和title應該要是
- title:
NCKU STUDY・成大學業分享
- meta(description):
NCKU STUDY | 一個讓成大學生匿名分享轉系、輔修、雙主修...等各式學業心得的平台。希望以更透明的資訊幫助成大學生規劃自己學業的方向。(原NCKUTRANS)
- 關掉文章閱讀器時,meta和title要切到
- title:
NCKU STUDY・成大學業分享
- meta(description):
NCKU STUDY | 一個讓成大學生匿名分享轉系、輔修、雙主修...等各式學業心得的平台。希望以更透明的資訊幫助成大學生規劃自己學業的方向。(原NCKUTRANS)
- 打開文章閱讀器、按下左右切換文章的按鈕時,meta和title要切到
- title:
成功大學 XXX年XX系OO 申請心得 | NCKU STUDY
(OO是類別)
- meta(description): 心得內文的前86個字
- 如果進入
/
的時候url帶有id參數,要把對應id的文章閱讀器打開
有些像wording等tool處理在 #59 有做了,可以參考一下避免從頭造輪子。
Screenshot(if this is a bug)
Expected result/Spec
用Laravel Eloquent api重構controller和model
Reproduce
- 進入「轉系/輔系/雙主修心得」頁面
- 點擊「年份」下拉選單並選取「全部年份」以外的各個年份
- 觀察畫面上的「通過率(官方數據)」
Screenshots
![Screen Shot 2021-08-11 at 23 13 26](https://user-images.githubusercontent.com/11289171/129055684-bd6c2a67-2d2b-4d8e-98c9-af3feeaf7166.png)
![Screen Shot 2021-08-11 at 23 13 37](https://user-images.githubusercontent.com/11289171/129055696-e688404f-c512-4e33-b00b-ca2a43b34120.png)
![Screen Shot 2021-08-11 at 23 13 49](https://user-images.githubusercontent.com/11289171/129055699-a2987128-0d51-4806-8858-6b538d0b36d7.png)
Platform
- macOS Big Sur v11.2.3
- Chrome v91.0.4472.114 (Official Build) (x86_64)
- Safari version 14.0.3 (16610.4.3.1.7)
- iPhone 11 Pro iOS 14.6
- Chrome v92.0.4515.90
- Safari
Description
(這個優先權最低,如果來不及的話先做 #128 )
提供一個API
- Input: 篩選條件(同 #128 )
- Output: 輸出所有符合條件的心得的數據統計(只算int和float)
- 平均數字(若為字串則回傳空字串)
- 最小數字(若為字串則回傳空字串)
Screenshot(if this is a bug)
Expected result/Spec
頁面
全部頁面
描述
在這裡新增一個按鈕,以新分頁開啟申請加入的表單連結
![image](https://user-images.githubusercontent.com/39335864/140315963-0dc37ba8-431c-429f-b65b-d8661f8e4ee7.png)
Description
前台
- prototype: link
- spec(css參考): link
- screen shot:
![image](https://user-images.githubusercontent.com/39335864/147847398-680318ea-f2c0-4249-9bf8-9b0a3adc6c0a.png)
後台
- prototype: link
- spec(css參考): link
- screen shot:
![image](https://user-images.githubusercontent.com/39335864/147847393-cba83664-1f93-4f7d-ac58-c11a751bbab8.png)
Scope
Description
目前左邊sideBar程式碼都塞在一起,應該要將每個不同功能獨立出來
Screenshot(if this is a bug)
![image](https://user-images.githubusercontent.com/39335864/144699224-fd328db6-7d48-4fea-90ba-32bde41b3e55.png)
Expected result/Spec
Reproduce
- 進入「轉系/輔系/雙主修心得」頁面
- 點擊「類別」下拉選單並選取每一種類別
- 觀察畫面上的「通過率(官方數據)」
Screenshots
![Screen Shot 2021-08-11 at 23 29 43](https://user-images.githubusercontent.com/11289171/129059267-5cf4fa76-bd8c-493a-9630-6485d69c046f.png)
![Screen Shot 2021-08-11 at 23 29 51](https://user-images.githubusercontent.com/11289171/129059281-4d5dc9d1-657f-4e61-9bc9-2cb16dd63395.png)
![Screen Shot 2021-08-11 at 23 29 58](https://user-images.githubusercontent.com/11289171/129059288-a0f8b396-2f3c-42a6-831b-6906b07e05ed.png)
![Screen Shot 2021-08-11 at 23 30 06](https://user-images.githubusercontent.com/11289171/129059296-fea40d52-fe4d-4f19-97e1-14cef90ee41b.png)
Platform
- macOS Big Sur v11.2.3
- Chrome v91.0.4472.114 (Official Build) (x86_64)
- Safari version 14.0.3 (16610.4.3.1.7)
- iPhone 11 Pro iOS 14.6
- Chrome v92.0.4515.90
- Safari
- 串接後端
- Redux中的study資料流處理。應該要包含
action |
說明 |
SET_STUDY_FILTER |
設定study文章的篩選統計條件 |
CLEAR_STUDY_FILTER |
清除所有study文章的篩選統計條件 |
ADD_STUDY_STAT |
新增統計項目(後台) |
UPDATE_STUDY_STAT |
更新已存在的統計項目(後台) |
DELETE_STUDY_STAT |
刪除已存在的篩選項目(後台) |
後端API資訊
頁面
https://nckustudy.com/#/
描述
在心得頁面篩選器有選取篩選條件下,離開心得頁面並進入其他頁面後,再回到心得頁面時,顯示的文章是進入其他頁面前有篩選過的結果,但篩選器UI顯示目前沒有篩選條件(全部學院、全部年分.....)
![](https://camo.githubusercontent.com/3ae50df8ebd45e684d8347ffb742e322ec20c6b007221616c4c0d858f4b9eafb/68747470733a2f2f692e696d6775722e636f6d2f6f63314e3256642e706e67)
應預期結果
離開心得頁面時篩選條件應被清除,重新回到心得頁面時,要顯示所有文章。
Scope
Description
分兩階段
Screenshot(if this is a bug)
Expected result/Spec
Scope
Description
在1706.67 * 801.78px
縮放比例125%底下,文章預覽器太長
Screenshot(if this is a bug)
![](https://camo.githubusercontent.com/f13515d5df30f84a80a3c69ff2dfa9cec5ed728e9387a88f8f9ec2d62e4ae59a/68747470733a2f2f63646e2e646973636f72646170702e636f6d2f6174746163686d656e74732f3835373134303635383639343235383730382f3932343639303732393335343238393135322f756e6b6e6f776e2e706e67)
Expected result/Spec
待決定
Scope
Description
以第一個心得的id參數進入頁面時不會開啟Modal
Screenshot(if this is a bug)
Expected result/Spec
Scope
Description
Call 下面這兩隻API時,要在backend對文章做反轉排序(新的要在陣列前面,舊的要在後面)
url |
method |
params |
authentication |
說明 |
/api//get/major |
GET |
- |
|
回傳已審核通過的major心得 |
/api//get/major/all |
GET |
|
V |
回傳所有major心得 |
cc @vacantron
Screenshot(if this is a bug)
Expected result/Spec
Description
分享心得第一步驟按下返回會進入空白頁面,建議第一步驟可以不用「返回」
Reproduce
- 點擊側邊選單
- 點擊「我要分享」進入「分享心得」畫面
- 點擊「返回」後會進入「空白頁面」
Screenshots
video0.mp4
Platform
- macOS Big Sur v11.2.3
- Chrome v91.0.4472.114 (Official Build) (x86_64)
- Safari version 14.0.3 (16610.4.3.1.7)
- iPhone 11 Pro iOS 14.6
- Chrome v92.0.4515.90
- Safari
Scope
All
Description
- Option1: Next.js + sequelize
- Option2: V8 in PHP + React v.18
Screenshot(if this is a bug)
Expected result/Spec
Description
Task 1
- 當create study包含「其他」種類統計資料時,要能儲存進DB(不須管理者權限)
- 必要時,可以修改目前createStudy的body需要傳的參數內容
Task 2
- 提供一支新的API,讓管理者可以將某個心得的「其他」種類統計資料轉換成已存在的統計資料種類。如果型態轉換失敗,則回傳錯誤訊息
Screenshot(if this is a bug)
Expected result/Spec
Scope
- Page
- Browser/Device(if this is a bug)
Description
- 修正分享心得目前和spec有出入的地方
- 將「目前選取的心得類別」改成黃色,「未選取的類別」改為白色+黃色外框(現在這兩個是相反)
Screenshot(if this is a bug)
![image](https://user-images.githubusercontent.com/39335864/153000304-028dced1-87de-4e98-86fc-665cc20631fb.png)
Expected result/Spec
- redux加入re-select,分離selector
Description
- 做一個專屬學業心得的閱讀器(不要修改舊的轉輔心得閱讀器)
- 「編輯類別」可以先不用做UI,預留空間就好,這裡應該可以重複利用 #42 的元件。
- 左右兩側切換文章的按鈕,實際上可以點選的高度應該要和整個閱讀器一樣高。
- 在後臺點選編輯時,應該要跳轉到心得表單頁面,且自動填入該心得原有的資料(仍然是修改該心得,並不是新增新心得。需要等 #46 完成)。
前台
- prototype:
- spec(css參考):
- screen shot:
![image](https://user-images.githubusercontent.com/39335864/147847490-5268aa7d-052c-46b6-8e3f-7e9a63d4be10.png)
![image](https://user-images.githubusercontent.com/39335864/149614456-c245f96f-3ef0-4e4f-8f99-5f337880793e.png)
後台
- prototype: link
- spec(css參考): link
- screen shot:
![image](https://user-images.githubusercontent.com/39335864/147847529-de6c7071-5ed9-48da-b1f5-fb6307e1ddd8.png)
![image](https://user-images.githubusercontent.com/39335864/147847521-5ca02566-9ecd-4725-b1a5-9d5263290a55.png)
Scope
- Page
- Browser/Device(if this is a bug)
Description
-API資訊
Screenshot(if this is a bug)
Expected result/Spec
Scope
- Page
- Browser/Device(if this is a bug)
Description
- 依照後端文件,串接取得心得的API,將資料存入Redux中。
- 讓文章卡片可以顯示對應的資料List
- 點擊單一卡片時,開啟文章閱讀器、顯示對應內容。
Redux資料如下:
action |
說明 |
INIT_STUDY |
將backend獲得的資料存入store |
Screenshot(if this is a bug)
Expected result/Spec
Reproduce
- 點擊左上角的選單按鈕
- 點擊「我要分享」進入「分享心得」畫面
- 點擊「下一步」並觀察上方進度條
Screenshots
![Screen Shot 2021-08-11 at 22 56 15](https://user-images.githubusercontent.com/11289171/129053024-1bcc5bd8-05e1-4f14-b94f-44eb1fb19312.png)
Description
- 加入搜尋元件到心得頁面,當enter的時候才觸發添加搜尋
- prototype: link
- spec(css參考): link
- screen shot:
![image](https://user-images.githubusercontent.com/39335864/147847463-ace94381-c732-41fd-9e32-bef2e3fbf40d.png)
Scope
Description
pharse1
pharse2
- 統一管理所有的router,應該要包含以下資訊:
- path: url path
- name: 顯示名稱
- component: 對應的page component
Screenshot(if this is a bug)
Expected result/Spec
Reproduce
- 進入「轉系/輔系/雙主修心得」頁面
- 點擊任一篇心得區塊會出現心得內容彈窗
- 觀察畫面
Screenshots
![Screen Shot 2021-08-11 at 23 41 54](https://user-images.githubusercontent.com/11289171/129060796-ec7e8eb0-ba8e-4097-9cb2-9b83193e8555.png)
Scope
Page
Description
- PC
- 捲動範圍改為
![image](https://user-images.githubusercontent.com/39335864/144705157-bf83dc31-2f11-453c-94e1-89f15fd4500a.png)
- Mobile
- 捲動範圍改為
![image](https://user-images.githubusercontent.com/39335864/144705181-d4c6c335-7972-46e2-bb4c-885a79c695f5.png)
Screenshot(if this is a bug)
Expected result/Spec
Description
設計通用心得的Schema。應該要能夠支援以下功能
注意: 在Schema設計完成後,請先用mock data讓前端可以call http GET到資料,再到#47 更新Schema資訊,接著再開始實作真正的細節。
Screenshot(if this is a bug)
Expected result/Spec
Description
- 有選擇「要篩選的數據項目」時才顯示這個元件。
- 顯示的數據是「有選擇的篩選的數據項目」
- 統計範圍是所有「經過篩選數據&搜尋結果後的文章」。
Spec
- prototype:
- spec(css參考):
- screen shot:
![image](https://user-images.githubusercontent.com/39335864/147847638-7e9f4eb5-a235-49a0-a9b2-85b43faa7c25.png)
![image](https://user-images.githubusercontent.com/39335864/149614164-3e440135-7b42-4e8a-98c7-ef74c0cd089e.png)
Description
- 搜尋元件的UI(不包含資料流)
- prototype: link
- spec(css參考): link
- screen shot:
![image](https://user-images.githubusercontent.com/39335864/147847463-ace94381-c732-41fd-9e32-bef2e3fbf40d.png)
User Flow
1. 心得閱讀器
- 點擊右下角編輯,導向2 (編輯頁面,以原填寫心得頁面擴充)
![](https://camo.githubusercontent.com/b0333bc181e22b621e92f18293256bc03efacd04555605781fa316fac5e01411/68747470733a2f2f692e696d6775722e636f6d2f5930673564384f2e706e67)
2. 編輯頁面
- 點擊返回會回到
admin/major
- 點擊下一步會進入3
![](https://camo.githubusercontent.com/28f44492ccb3e707941d10fe20b1f7233f0f8cef73d5356803fb106f437b6235/68747470733a2f2f692e696d6775722e636f6d2f486177496b786e2e706e67)
![image](https://user-images.githubusercontent.com/39335864/132121086-e50b3c27-5488-478a-a295-805c4136744e.png)
預覽畫面
- 點擊返回會回到2
- 點擊送出會回到
admin/major
![image](https://user-images.githubusercontent.com/39335864/132121030-36467113-d1a4-449a-8c5c-0f86bfe57a8f.png)
Description
- 重新設計目前的選擇心得類別頁面
- 新增學業心得的填寫流程,資料流必須整合進Redux。
- 轉輔心得填寫流程和UI照舊。
- 送出心得後的頁面照舊。
- 搜尋元件UI不在此issue範圍內(但是搜尋tag的資料流在此issue內)。應該要重複利用 #45 製作的元件。
- 文章閱讀器不在此issue範圍內。應該要重複利用 #44 製作的元件。
前台
- prototype: link
- spec(css參考): link
- screen shot:
![image](https://user-images.githubusercontent.com/39335864/147847179-f02d36f1-f879-412f-a141-2490ea24a2b6.png)
![image](https://user-images.githubusercontent.com/39335864/147847190-e10ecd08-ab9f-434d-ab1e-311f03cf678d.png)
![image](https://user-images.githubusercontent.com/39335864/147847199-55e5e851-84f4-4e32-b3b7-71e8bcba5459.png)
![image](https://user-images.githubusercontent.com/39335864/147847206-c3949679-5e1b-43c5-9203-52ae5f810527.png)
Scope
Description
現在FE進入每個頁面幾乎都會先預設顯示loading,等request都結束再顯示一般頁面。
請將這個行為分離成共用component。
Screenshot(if this is a bug)
Expected result/Spec
Scope
Description
- 現在modal的狀態由一組state控制,若再開啟其他的modal會無法分開控制,關閉其中一個時會造成全部的modal被關閉。
- 批准心得時會關閉modal重新fetch資料及歸零scroll的offset,在數量多的時候會不方便操作。
Screenshot(if this is a bug)
![](https://user-images.githubusercontent.com/95543602/153130499-2a3bdd11-3992-402f-8de6-dd0336d00751.png)
Expected result/Spec
- 改用stack儲存狀態
- 在不關閉modal的狀態下更新資料
Scope
Description
在通用心得表單增加
- 在輸入第一頁預設增加「心得標題」題型。
- 在輸入第二頁增加預覽「心得標題」。
- 在統計資料選擇器上方,增加 #45 中做好的原件。當onChange的時候,下方顯示可供選擇的統計資料也要改變(只顯示包含input中文字的項目)
- spec
- prototype
Screenshot(if this is a bug)
![image](https://user-images.githubusercontent.com/39335864/154792201-2ead0bd6-87c2-45a5-8b55-943ca0fbe3c7.png)
![image](https://user-images.githubusercontent.com/39335864/154792179-dc23d1d0-eab3-4fc7-a45f-4dcaf9c5e0a7.png)
Description
- 必須使用react window來顯示卡片列表
- 卡片上方區塊顯示該心得的類別
- 卡片上方區塊顯示該心得具有的統計資料
- 當文章內文超出卡片範圍時,超出的內容改為
(...)
- [注意] 在後台時,尚未審核通過的心得的
background-color
和其他心得不同。請見spec
- 在手機版時,卡片寬度需填滿畫面
- 請將這一頁的版面區域切版完成(設定好篩選器、統計區域應該要在的位置)
前台
- prototype:
- spec(css參考):
- screen shot:
![image](https://user-images.githubusercontent.com/39335864/147847298-def19c74-76df-4fd7-a79f-65ec74d173c2.png)
![image](https://user-images.githubusercontent.com/39335864/149614123-abaa2bfc-f545-4579-b24a-12478a178fbe.png)
後台
- prototype: link
- spec(css參考): link
- screen shot:
![image](https://user-images.githubusercontent.com/39335864/147847304-5194d3b3-a8de-4e2f-b63a-c5ccc9882b8e.png)