專案需求
- 雙角色:教師、學生;
- 教師端:發布作業、發布通知、錄入成績;
- 學生端:查看作業、查看通知、查看成績;
- 基於 Android 平台開發。
資源獲取
完整項目源碼(含服務端 API、數據庫腳本、APK、設計文檔)已整理打包。
關注作者並私信「畢設資源」即可免費獲取下載鏈接。
技術架構參考
| 層次 | 技術選型 |
| 客戶端 | Android (Java/Kotlin) + Retrofit + Room/GreenDAO + Material Design |
| 服務端 | Spring Boot + MyBatis-Plus + MySQL + JWT 鑒權 + WebSocket 推送通知 |
| 部署 | Docker Compose (Nginx + App + DB) / 輕量雲服務器 |
核心功能模塊
- 用戶認證:註冊/登錄/角色選擇/Token 自動刷新;
- 作業管理:標題/內容/截止時間/附件/狀態(草稿/發布/截止);
- 通知公告:富文本編輯、分類標籤、置頂、推送至學生端;
- 成績錄入:Excel 批量導入、單條修改、統計圖表(平均分/及格率);
- 學生視圖:作業列表(未完成優先)、通知中心、成績單(按學期/科目篩選)。
擴展建議
- 引入 Firebase Cloud Messaging (FCM) 替代自建 WebSocket,降低維護成本;
- 增加 作業提交 功能(學生上傳文件/圖片、教師批改打分);
- 接入 學校統一身份認證 (CAS/OAuth2) 實現單點登錄;
- 數據導出 PDF/Word 報表(iText/POI)。
避坑指南
- 數據庫設計:
homework 表必須有 teacher_id, class_id, deadline, status 索引;
- 權限控制:API 層面用
@PreAuthorize("hasRole('TEACHER')") 方法級攔截;
- 時間一致性:服務端統一 UTC 存儲,客戶端按時區顯示。