# 校园任务与通知管理系统 **Repository Path**: zhouguiyou/ctns ## Basic Information - **Project Name**: 校园任务与通知管理系统 - **Description**: 校园任务与通知管理系统(Java web前后端分离系统),技术选型:Springboot + Mybatis + Vue + ElementUI + Shiro - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: http://zhouguiyou.info:8884 - **GVP Project**: No ## Statistics - **Stars**: 20 - **Forks**: 2 - **Created**: 2021-05-14 - **Last Updated**: 2025-03-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 校园任务与通知管理系统 ## 演示 [校园任务与通知管理系统](http://zhouguiyou.info:8884/) (使用的是阿里云服务器,网络带宽只有1mbps,一般网速最高为200k/s,**第一次访问比较慢**,需要加载约20s,加载完后数据进入浏览器缓存,就不会有影响了) ## 介绍 ![image-20210514160903392](README.assets/image-20210514160903392.png) ​ 校园任务与通知管理系统(college_task_notice_system)是一款用于针对校园中任务与通知的业务逻辑而进行设计的**前后端分离**的Java web应用。 ​ **演示访问地址**:http://zhouguiyou.info:8884/ (第一次访问比较慢,需要加载约20s,后续使用无影响) ​ 实际上这个项目是作者本人的**毕业设计**。 ​ 本系统的基本需求如下: - 在本系统中,“任务”与“通知”统称为“消息”,并根据“消息”的必要程度来划分“任务”与 “通知”,并且本系统目前根据各个用户的角色权限,暂时划分为 3 个角色模块:校方、教师、学生。 - (1)其中校方可以向所有教师、学生发布任务与通知,但是无需获得任何返回数据。并且可以根据 其他基本信息数据为某一专业的学生制定培育计划。 - (2)教师可以向自己管理的班级发布任务与通知,在已发布的任务中学生们可以返回任务结果。而 已发布的通知并不需要学生进行任何返回操作。 - (3)学生可以接受对应于自己的任务与通知数据,对应教师发布的任务还需要上传任务结果文件才 能完成任务,并且学生还可以查询自己专业的培育计划。 ## 软件架构 - 前端:使用了其他作者的前端模板进行页面的搭建,其主要技术是Vue +ElementUI,这里是前端模板的Gitee链接:[Fantastic-admin](https://gitee.com/hooray/fantastic-admin/) - 后端:Springboot+Mybatis - 安全:shiro+JWT(因为时间原因,目前本系统仅设计了JWT的生成,还没有使用Springboot的AOP进行请求JWT验证) - 数据库:MySQL ## 安装教程 1. 下载项目或者Git克隆到自己本地路径中 2. 打开路径“项目\src\main\resources\前端开发代码”,把“前端开发代码”这个文件夹进行重命名,然后剪切移动到其他路径,作为前端项目 3. 使用IDEA打开**前端项目代码** - 前端项目代码打开后,命令行输入: ```markdown npm install ``` - 打开前端代码目录下的配置文件**.env.development**,修改配置文件,改为自己本机的IP地址: ![image-20210514162535104](README.assets/image-20210514162535104.png) - 然后再输入命令,使得前端项目运行起来: ```markdown npm run serve ``` 4. 导入数据库文件,数据库文件路径:项目\src\main\resources\数据库,注意,先在自己的MySQL中新建一个和数据库文件同名的空的数据库,在运行SQL文件,选择UTF-8编码运行即可。 5. 用IDEA打开**后端项目代码** - 先打开springboot配置文件(properties),修改项目端口、数据库配置信息,包括MySQL端口、数据库名、MySQL账户密码。 - 找到springboot启动类,启动项目 6. 在浏览器访问前端运行后提供的访问地址(该地址不同设备的端口占用情况、主机IP地址不同的原因会出现不同的现象): ![image-20210514163814736](README.assets/image-20210514163814736.png) ## 使用说明 1. 可进行适当的前端页面的修改 2. 可进行后端业务的开发 3. 直接跑起来玩一下也行 ## 项目开发遇到的问题 1.因为作者本人仍然是新手,初次开发过程中分层错乱,将业务层的代码写进了控制层中 2.本系统没有完全合理地运用springboot AOP,所以出现了许多代码冗余的地方 3.本系统没用做JWT验证 4.系统自身的业务逻辑仍需要进行优化、人性化 ## 作者对项目参与的贡献 1. 对校园的业务逻辑进行需求分析,并对所需要管理的数据进行分析,进行库表设计 2. 使用 Vue、ElementUI 搭建整个系统的前端界面 3. 使用 Springboot、Mybatis 进行业务逻辑开发和数据持久化开发实现 4. 使用 Shiro、JWT 进行系统数据安全的逻辑开发实现 5. 负责系统全部开发模块的单元测试 6. 将本系统部署到阿里云服务器,使得互联网可以进行访问