iT邦幫忙

2026 iThome 鐵人賽

DAY 16
0

今天要做的事
課表分頁的設定、測試以及修改。

模擬課表
週一:沒有課
週二:D3~D4 通識人文思辨,D5~D7 機率與統計
週三:D3、D4、DN 文化創意產業概論
週四:D3~D4 科技專案管理
週五:D2~D4 道德駭客

課表功能

  • 當天的欄位會被匡起來
  • 點擊想要的那一節,選擇課程種類(必修、選修、通識、體育、第二外語),輸入課程名稱,即可加入課程,不過每格皆需手動輸入,也需手動刪除
  • 課程會被記錄,像是搜尋紀錄一樣,若有好多節課,不必重新輸入,下方會有記錄可直接選擇
  • 不同種類的底色會不同,同一堂課但很多節次時,格子會相連,名稱也只會顯示一次
  • 例外的課表分成「停課」和「補課」,可選擇日期、節次、課程名稱、備註
  • 選擇日期的部分,電腦版可以手動輸入或是在日曆中選擇,手機版只提供日曆選擇
  • 可選擇刪除新增的「停課」和「補課」,會有二次確認是否要刪除
  • 主頁的行程提示會跟著課表以及例外的課表更動,而做相對應的更動

課表實作
打開 App 後,會進入首頁,點擊下方目錄欄位中的「課表」,接著選擇節次、選擇課程種類、填入課程名稱,接著儲存,同一堂課的其他節次不必一一手動輸入,已存在的課程會被記錄,可以點擊想要的節次,並直接選擇記錄中的課程即可,名稱跟種類會自動選擇好。

填課表:
https://ithelp.ithome.com.tw/upload/images/20260928/20178861dPGQkFyqLr.png

整份課表:
https://ithelp.ithome.com.tw/upload/images/20260928/20178861Al5dAdwuAh.png

後台讀資料庫存下來的資料節錄如下:

{
  "courses": {"人文思辨":"通識", "機率與統計":"必修", "道德駭客":"選修", ……},
  "slots": {"2-D3":"人文思辨", "2-D5":"機率與統計", "5-D2":"道德駭客", ……},
  "exceptions": [],
  "device": "Mac 的 Chrome"
}

整份課表存成一筆資料,裡面有三個部分:

  • slots 每週固定的課
  • courses 每門課的種類
  • exceptions 是單週例外

例外的課表實作
這個功能用來應付若出現停課、放假、補課等,特殊但不多的情況。

點擊課表下方的按鍵「新增例外」,選擇補課或停課、選擇日期、選擇節次或者勾選整天停課、可選擇備註,接著「儲存例外」,接著這筆課程會被條列在下方,右側會有「刪除」。
另外,選擇日期後,系統會對照課表中那個日期有的課程,推薦在下方讓我選。

填例外:
https://ithelp.ithome.com.tw/upload/images/20260928/20178861LSgd5vqQiV.png

例外完成:
https://ithelp.ithome.com.tw/upload/images/20260928/20178861AYCD7lNVmU.png

空堂的算法
App 算某一天的空堂時,會先看那天是星期幾,接著每週固定的課,接著看例外(停課的節次變回空堂,補課的節次變成有課),剩下沒有課的節次,就是這一天的空堂。
https://ithelp.ithome.com.tw/upload/images/20260928/20178861UgkhSR7itD.png

今日總結
今天製作了課表分頁,並將課表填進去,電腦及手機都已經測試過功能,並且可以立即的更新。

明日內容
在寫文章時發現課表還有一點點地方要優化,像是例外的課表無法修改,只能刪除然後重寫一份,這邊我明天打算修改。以及,我在猶豫要不要用自己真實的課表,擔心自己學科被一覽無遺,但我後面會需要跟著這個 App 真正使用,所以我需要思考一下。
接著明天本來就會排程到做番茄鐘和讀書紀錄,期待一下。


上一篇
【Day 15】開始製作 App
下一篇
【Day 17】建番茄鐘
系列文
用Claude打造我的AI校園助理:從需求到實作的30天實驗 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言