Vue練習題目,暨大生排課表
Go to file
Ting-Jun Wang 17e6e1421e
fix: filter selected courses
在手機端使用時,「預覽排課」的功能會導致未經點選+號的「預覽課程」被選入

經儲存於資料庫後會導致學分數計算錯誤。

solution: 在前端先篩選出正確的課程再送給後端API儲存
2022-08-30 20:53:55 +08:00
all First commit 2020-09-11 21:25:02 +08:00
assets First commit 2020-09-11 21:25:02 +08:00
css First commit 2020-09-11 21:25:02 +08:00
general First commit 2020-09-11 21:25:02 +08:00
js fix: filter selected courses 2022-08-30 20:53:55 +08:00
歷年課程資料 feat: 自動從 generalCourse.in 讀取資料,修改通識課程分類(#20) 2022-01-10 13:22:01 +08:00
.gitignore hope make it look good 2021-01-24 01:28:37 +08:00
api.py fix: exception handling when timeout (#22) 2021-08-28 23:49:22 +08:00
data.db feat: 引入FB登入機制&後端api 2021-01-16 18:09:25 +08:00
generalCourse.in feat: 自動從 generalCourse.in 讀取資料,修改通識課程分類(#20) 2022-01-10 13:22:01 +08:00
getData.py fix: change URL 2022-07-26 23:19:52 +08:00
index.html feat: webpage description 2021-08-23 17:49:22 +08:00
ncnu-course-api.service fix: run as non-sudoer 2022-08-29 18:55:20 +08:00
output.json feat: 自動從 generalCourse.in 讀取資料,修改通識課程分類(#20) 2022-01-10 13:22:01 +08:00
README.md docs: 更新爬蟲程式說明 2021-08-23 18:03:01 +08:00
requirements.txt First commit 2020-09-11 21:25:02 +08:00

暨大排課表

只是一個Vue練習題目DEMO,建議用電腦開

題目

暨大生在學期前在苦惱選課的時候都會使用 @x3388638 學長開發的 自己的課表自己排 2.0

但是我在使用的時候一直有一個困擾:不知道該通識課是屬於哪種領域的通識。 其實這個問題也有學長提出過issue但是因為學校沒有開放相關API而無法撈到資料。

有一次在使用教務系統時,突然發現好像有一個頁面可以讓使用者查詢到通識領域() 但因為不同入學年度有可能會有不同的通識領域規定,而且學長其實也已經畢業了,我也不希望他又額外花時間做維護。

在暑假的時候剛好學了Vue想說補一下前端的大洞… 所以拿這個「暨大排課表」當題目,結果發現我前端的洞真的大…連排版都很母湯…(我就爛! 希望有比較會CSS、HTML的人幫我QQ

我還是乖乖寫後端就好惹……

少少的功能

  • 爬蟲非web界面
    • 含所有該學期課名、課號、老師等相關資訊(含通識領域
  • 排課
    • 基本新增、刪除
    • 可選擇科系、可篩選通識領域
    • 選課預覽
    • 可安排假日課程
  • 分享
    • 產生專屬連結跟同學分享自己的課表
  • 匯出jpg
    • 產生課表.jpg放成桌布、印出來永遠不會忘記去上課

可能會新增的功能(非常可能不會)

  • 儲存
  • 匯出
  • 分享
  • 時間為「另訂」,額外處理
  • 把版排好(選課框框改成可下拉(才可以同時看到課表))

課程爬蟲使用說明

因為學校教務系統更新通識分類的部份很慢,因此目前的程式碼已經修改成無法對應「通識課程分類」的版本, 實際上線的 data 是依靠「工人智慧」, 如果有需要爬取資料,建議使用較舊版本的 python code

安裝所需套件

pip install -r requirements.txt

登入教務系統取得個人登入cookie貼到getData.py line 11即可執行。

過程中取得所有課程相關html資料整理過後輸出output.json

※ 注意: 部份通識課程會有教務系統沒有提供領域的狀況因此領域仍然為「99, 通識」,必須手動搜尋選課系統並且直接修改output.json