项目管理平台
约 849 字大约 3 分钟
2025-05-08
项目管理平台
- 负责人:陈竑宇
- 本项目为高校师生设计的项目管理平台,分为学生端和教师端两个子系统,支持课程/毕设项目全流程管理,包括文件上传、任务发布、权限控制等功能。
- 系统采用前后端分离架构,技术栈以 Java SpringBoot(后端) + Vue3 + Element-Plus(前端) 为核心,满足轻量化、易维护、低成本部署需求。
核心功能需求
学生端
- 用户管理
学生自主注册/登录(手机号/邮箱验证)。
可查看个人资料,修改密码。
- 项目管理
按课程/毕设分类上传项目文件(支持PDF、Word、Zip等格式,单文件最大100MB)。
设置文件可见范围:公开(所有同学可见)或私有(仅教师和学生可见)。
查看同课程下其他同学公开的项目文件(支持按时间/名称排序)。
- 任务管理
接收教师发布的个人/组队任务通知。
提交任务文件至指定课程/毕设项目。
查看任务状态(已提交/未提交/教师评语)。
- 文件管理
- 文件保存周期:自动保留5年,过期文件可手动续期或删除。
教师端
- 课程管理
创建/编辑课程或毕设项目,设置课程名称、描述、时间范围。
批量生成学生账号(Excel模板导入),分配学生至指定课程。
- 任务发布
发布个人任务或组队任务,可设置任务截止时间、任务描述、附件模板。
可手动管理任务状态(进行中/已截止/已归档)
- 文件审查
查看所有学生提交的文件(按课程/学生/任务分类筛选)。
下载文件、添加批注、删除违规内容。
- 权限管理
重置学生密码。禁用/启动账号
设置课程管理员(助教),分配部分管理权限
公共功能
- 文件存储与检索
- 文件分类存储(课程/学号/上传时间),支持文件名关键词搜索
- 通知系统:
- 站内消息通知任务截止提醒、老师评语结果等
技术路线设计
后端技术栈
核心框架:Spring-boot 3.x
优势:快速开发、约定优于配置,成熟的生态与社区支持,适合快速迭代业务需求。
补充:结合 Spring Data JPA 简化数据库操作,或针对复杂查询场景采用 MyBatis-Plus。ORM框架:MyBatis-Plus:简化CRUD操作,提升开发效率
权限控制:JWT + Spring Security
文件存储:MinIO / 阿里云OSS
前端技术栈
- 核心框架:Vue3 + TypeScript
- UI组件库:Element-Plus
- 路由管理:Vue Router
- 状态管理:Pinia
- Http请求:Axios
数据库
- 数据库:MySQL 8.0
- 缓存:Redis
其他工具
- API文档:Knife4j
技术选型总结
模块 | 推荐技术栈 | 替代方案 |
---|---|---|
后端框架 | Spring Boot | - |
数据库 | MySQL | PostgreSQL |
前端框架 | Vue3 + Element Plus | - |
扩展建议(可选)
即时通讯:集成WebSocket实现任务通知实时推送。
文件预览:使用OnlyOffice或LibreOffice在线预览文档。
自动化测试:JUnit + Jest覆盖核心接口和组件。
贡献者
更新日志
2025/5/17 03:35
查看所有更新日志
febfb
-docs(begin.md): update interaction instructions for comments section于