iT邦幫忙

2025 iThome 鐵人賽

DAY 1
0
自我挑戰組

課程公告與課表管理系統系列 第 1

專案啟動與資料庫設計

  • 分享至 

  • xImage
  •  
  1. 專案目標
    正式啟動「課程公告與課表管理系統」的 30 天挑戰。
    這個系統的核心理念是集中管理補習班的課程資訊、教師資料與異動公告,避免資訊分散在 LINE 群組、紙本公告或口頭通知,讓學員與教師都能即時掌握最新的課程變化。
    主要功能方向:
    課程週/月檢視
    公告與異動通知(Email、LINE、Web Push)
    教師與教室資訊查詢
    行動裝置友善的 RWD 設計
  2. 今日重點工作
    (1) 技術使用
    前端:Vue.js
    後端:Node.js (Express)
    資料庫:MySQL
    (2) 資料庫設計
    今天完成了資料庫的核心 Schema 設計,涵蓋了使用者管理、課程與公告、通知系統等模組,方便後續開發直接使用。

主要資料表與功能:

Roles / Users
管理使用者角色(admin/student/instructor)與帳號資訊,密碼以 Hash 方式儲存。

Cohorts / Enrollments
管理班級期別及學員的選課關係,支援多對多關聯。

Sessions / SessionChanges
每一堂課的安排與異動紀錄,支援狀態(scheduled, changed, cancelled, done)。

Announcements / AnnouncementTargets
公告內容與投放範圍(全站 / 班級 / 單堂課)。

Notifications / ReadReceipts
通知發送與已讀追蹤。

Instructors / Rooms
講師與教室資料。

Attachments
公告與課程的附件管理(檔案上傳 / 連結)。

RecurringSessions / SessionOccurrences
重複課程規則與實際展開的課次。

Tags / EntityTags
公告與課程的標籤系統。

這樣的結構可以讓系統支援:

課程表生成

異動追蹤

精準通知

彈性擴充(未來加新功能不會大幅改動資料表)


下一篇
Day 2 – 開發環境初始化與資料庫連線測試
系列文
課程公告與課表管理系統3
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言