它解决什么
课程资料散落在群聊、网盘和个人电脑里,共享与检索都不方便;师生之间除了课堂,也缺少一个围绕课程本身交流的地方。
这个平台(毕业设计)把四件事装进一个系统:课程资源管理(上传、下载、收藏、评论、评分)、论坛交流(发帖、评论,可设公开或指定范围可见)、AI 智能助手(集成豆包 AI 做智能问答)和积分激励(积分获取与兑换,鼓励持续参与),外加公告发布与数据统计。
三种角色
- 学生:浏览、搜索、下载资源,收藏与评论,参与论坛,用 AI 助手,攒积分兑换奖品;
- 教师:上传与管理课程资源,审核资源评论,查看学生情况;
- 管理员:用户与资源管理审核、论坛管理、公告发布、积分系统管理与数据统计。
工程过程
- 前后端分离:后端 Django 按业务域拆成 users / courses / forum / announcements / points / ai 六个应用,前端 Vue 3 单页应用通过 REST API 对接;
- 权限:JWT 无状态认证 + 基于角色的访问控制(RBAC),三种角色各有功能边界,前端组件按 admin / teacher / student 分目录维护;
- 数据模型先行:围绕 User、CourseResource、ForumPost、PointRecord、PrizeExchange 等核心模型组织资源流、互动流与积分流;
- 体验细节:全局 Toast 统一消息提示、骨架屏与加载动画、主题色与样式变量可定制,响应式布局兼顾移动端。
技术栈
| 层 | 选型 |
|---|---|
| 后端 | Django 4.2 + Django REST Framework |
| 认证 | JWT(djangorestframework-simplejwt),Django 内置密码哈希 |
| 数据库 | SQLite(开发)/ MySQL(生产) |
| 前端 | Vue 3(Composition API)+ TypeScript + Vite |
| UI / 状态 | Element Plus · Pinia · Vue Router · Axios |
| AI | 豆包 AI(字节跳动火山方舟) |
目前的状态
毕业设计,已完成并提交。系统可完整运行:多角色登录与权限隔离、资源上传下载与审核、论坛发帖评论、AI 问答、积分获取与奖品兑换、公告与数据统计均已实现,仓库内附一键启动 / 停止脚本与部署说明。
仓库说明:GitHub 公开仓库 campus-resource-platform。