系統架構設計
1. 系統架構設計
-
前端 (Frontend)
- 功能: 提供用戶界面,讓學生可以登錄、瀏覽課程、選課、查看已選課程和參與社群討論。
- 技術:
- HTML, CSS, JavaScript
- 前端框架:React.js
- UI 庫:Tailwind CSS
- AJAX 或 Fetch API 用於與後端進行數據通信
-
後端 (Backend)
- 功能: 處理用戶認證、課程管理、選課處理、數據存儲和社群功能。
- 技術:
- 編程語言:Django
- 用戶認證和授權:JWT(JSON Web Token)、OAuth
-
數據庫 (Database)
- 功能: 存儲用戶信息、課程數據、選課記錄和社群討論內容。
- 技術:
- SQL 資料庫:PostgreSQL
-
伺服器和部署 (Server and Deployment)
- 功能: 承載和運行網站,確保網站的高可用性和可擴展性。
- 技術:
- 伺服器:Nginx
- 部署平台:AWS
- 容器化技術:Docker Container
- 持續集成和持續部署(CI/CD):GitHub Actions
-
安全性 (Security)[未使用]
- 功能: 保護用戶數據和系統免受攻擊。
- 技術:
- HTTPS/SSL/TLS(確保數據在傳輸過程中的安全)
- 數據加密
- 防火牆和入侵檢測系統
-
其他 (Other)
- 功能: 提供輔助功能和增強用戶體驗。
- 技術:
- 日誌和監控:ELK 堆疊(Elasticsearch, Logstash, Kibana)、Prometheus 和 Grafana [未決定]
- 測試:單元測試(Jest、Mocha)、端到端測試(Cypress、Selenium)[未決定]
- API 設計:RESTFUL API