【开源】JAVA+Vue+SpringBoot实现毕业生追踪系统

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 登陆注册模块
    • 2.2 学生基本配置模块
    • 2.3 就业状况模块
    • 2.4 学历深造模块
    • 2.5 信息汇总分析模块
    • 2.6 校友论坛模块
  • 三、系统设计
    • 3.1 用例设计
    • 3.2 实体设计
  • 四、系统展示
  • 五、核心代码
    • 5.1 查询我的就业状况
    • 5.2 初始化就业状况
    • 5.3 新增荣誉
    • 5.4 新增留言
    • 5.5 查询证书
  • 六、免责说明


一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的毕业生追踪系统,包含了毕业去向填报模块、校友论坛模块、学生荣誉模块、学生证书模块、学历深造模块,还包含系统自带的用户管理、班级管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,毕业生追踪系统基于角色的访问控制,给学生、教务管理员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏


二、功能模块

毕业生追踪系统针对毕业生管理信息化而设计的。系统可以统计毕业生信息,毕业方向,进行数据分析便于管理员对各毕业生进行管理,且设计了校园论坛,毕业生可在校园论坛内发布招聘信息,求职信息。系统通过JAVA技术平台进行研发和创新,采用的是MVC模式。其中使用Spring、SpringBoot等开源框架进行后端开发,使用Vue框架构建前端,使用MySQL数据库存储数据,使用Tomcat作为服务器。系统实现了学校采集毕业生就业信息、统计就业数据、跟踪分析就业动向等。

在这里插入图片描述

毕业生追踪系统的功能性需求主要包含登陆注册模块、学生基本配置模块、就业状况模块、学历深造模块、信息汇总分析模块、校友论坛六大模块,是基于浏览器运行的web管理后端,其中各个模块详细说明如下。

2.1 登陆注册模块

登陆注册模包含了系统登陆功能和注册功能。我们需要建立这个模块给老师和学生提供登陆注册服务,登陆需要提供账号、密码和验证码,注册则需要提供登陆账户、密码、手机号、手机验证码数据。

在这里插入图片描述

2.2 学生基本配置模块

学生基本配置模块包含了学生的基础数据,如学生id、姓名、性别、手机号、身份证号、学院、班级等信息。

在这里插入图片描述

2.3 就业状况模块

就业状况模块包含了学生毕业后的就业情况,如未就业、已就业、升学、入伍、创业等等,已经就业的同学需要填写所在岗位、薪资区间等信息,在这个模块进行维护。

在这里插入图片描述

2.4 学历深造模块

部分学生在毕业之后选择了升学,所以对这一类学生需要额外分析管理,需要学生填写院校以及专业信息,分析出各个班级、各个专业的考研率、升学率等等,为高校决策出谋划策。

在这里插入图片描述

2.5 信息汇总分析模块

信息汇总分析模块放置了若干图表,用于对毕业生的去向进行图表分析,可以给管理员更加直管的数据展示。

在这里插入图片描述

2.6 校友论坛模块

校友论坛模块提供了留言板的功能,毕业生可以在这个模块进行留言互动,增加毕业生之间的联系。

在这里插入图片描述


三、系统设计

3.1 用例设计

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.2 实体设计

通过需求功能分析以及各个模块的设计,最后将每个模块都进行数据库的设计,并且通过E-R图来进行展示。

在这里插入图片描述

在这里插入图片描述

学生基本配置模块是对学生的账号进行记录并管理,其中学生的信息包括了学生的学生ID、姓名、性别、身份证号、学院、班级、出生日期、手机号、邮箱、备注等,其中学生ID是系统用户的确定性因素。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
就业状况模块是对学生的就业状况进行记录并管理,其中就业状况的信息包括了学生ID、学生姓名、学生性别、手机号、身份证、毕业班级、就业去向、是否就业、备注等,其中学生ID是学生的确定性因素。

在这里插入图片描述

在这里插入图片描述

校友论坛模块是对毕业生的留言进行管理,毕业生进行的每一条留言都是一条记录,该记录包括了学生ID、学生姓名、学生性别、手机号、毕业班级、发送内容、回复ID、是否发送、发送时间、备注等,其中学生ID是学生的确定性因素。

在这里插入图片描述


四、系统展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


五、核心代码

5.1 查询我的就业状况

@RequestMapping(value = "/getMyOne", method = RequestMethod.GET)
@ApiOperation(value = "查询我的就业状况")
public Result<EmploymentStatus> getMyOne(){User currUser = securityUtil.getCurrUser();if(currUser.getType() == null ||currUser.getType() > 0) {return ResultUtil.error("非学生用户,无法填写!");}QueryWrapper<EmploymentStatus> qw = new QueryWrapper<>();qw.eq("user_id",currUser.getId());EmploymentStatus status = iEmploymentStatusService.getOne(qw);if(status == null) {status = EmploymentUtils.getBlackEmploymentStatus(currUser.getId());iEmploymentStatusService.saveOrUpdate(status);}if(ZwzNullUtils.isNull(status.getUserId())) {status.setUserName("无");status.setUserNumber("无");status.setUserMobile("无");} else {User user = iUserService.getById(status.getUserId());if(user != null) {status.setUserName(user.getNickname());status.setUserNumber(user.getUsername());status.setUserMobile(user.getMobile());} else {status.setUserName("无");status.setUserNumber("无");status.setUserMobile("无");}}return new ResultUtil<EmploymentStatus>().setData(status);
}

5.2 初始化就业状况

@ApiOperation(value = "初始化就业状况")
private void initWork() {QueryWrapper<User> userQw = new QueryWrapper<>();userQw.eq("type",0);List<User> userList = iUserService.list(userQw);for (User user : userList) {QueryWrapper<EmploymentStatus> qw = new QueryWrapper<>();qw.eq("user_id",user.getId());Long count = iEmploymentStatusService.count(qw);if(count < 1) {iEmploymentStatusService.saveOrUpdate(EmploymentUtils.getBlackEmploymentStatus(user.getId()));}}
}

5.3 新增荣誉

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增荣誉")
public Result<Honor> insert(Honor honor){honor.setDate(DateUtil.now());iHonorService.saveOrUpdate(honor);return new ResultUtil<Honor>().setData(honor);
}

5.4 新增留言

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增留言")
public Result<MessageBoard> insert(@RequestParam String content){if(ZwzNullUtils.isNull(content)) {return ResultUtil.error("留言不能为空");}User currUser = securityUtil.getCurrUser();MessageBoard messageBoard = new MessageBoard();messageBoard.setUserId(currUser.getId());messageBoard.setUserName(currUser.getNickname());messageBoard.setContent(content);messageBoard.setDate(getZwzNowTime());messageBoard.setReplyId("");if(iMessageBoardService.saveOrUpdate(messageBoard)){return new ResultUtil<MessageBoard>().setData(messageBoard);}return ResultUtil.error();
}

5.5 查询证书

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询证书")
public Result<IPage<Certificate>> getByPage(@ModelAttribute Certificate certificate ,@ModelAttribute PageVo page){QueryWrapper<Certificate> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(certificate.getTitle())) {qw.like("title",certificate.getTitle());}if(!ZwzNullUtils.isNull(certificate.getStudentId())) {qw.like("student_id",certificate.getStudentId());}IPage<Certificate> data = iCertificateService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<Certificate>>().setData(data);
}

六、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/681616.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Git 简易速速上手小册》第6章:Git 在持续集成/持续部署(CI/CD)中的应用(2024 最新版)

文章目录 6.1 CI/CD基础6.1.1 基础知识讲解6.1.2 重点案例&#xff1a;为 Python Web 应用实现 CI/CD6.1.3 拓展案例 1&#xff1a;自动化部署到云平台6.1.4 拓展案例 2&#xff1a;使用 Docker 容器化部署 6.2 Git 与自动化测试6.2.1 基础知识讲解6.2.2 重点案例&#xff1a;为…

numpy 查漏补缺

1. iterating 2. 3. 4. 5. 6. 7. 8. 9.

Hive的CTE 公共表达式

目录 1.语法 2. 使用场景 select语句 chaining CTEs 链式 union语句 insert into 语句 create table as 语句 前言 Common Table Expressions&#xff08;CTE&#xff09;&#xff1a;公共表达式是一个临时的结果集&#xff0c;该结果集是从with子句中指定的查询派生而来…

Java缓冲流——效率提升深度解析

前言 大家好&#xff0c;我是chowley&#xff0c;在我之前的项目中&#xff0c;用到了缓冲流来提高字符流之间的比较速度&#xff0c;缓冲流的主要作用类似于数据库缓存&#xff0c;提高IO操作效率。 缓冲流 在Java的输入输出操作中&#xff0c;缓冲流是提高性能的重要工具之…

15 OpenGL可编程片段处理

可编程片段处理 Programmable Fragment Processing 在图形渲染过程中&#xff0c;当当前片段阶段&#xff08;fragment stage&#xff09;使用的是包含有片段着色器&#xff08;fragment shader&#xff09;的程序对象时&#xff0c;该着色器将被激活并负责处理光栅化生成的片…

【HTML】情人节给npy一颗炫酷的爱心

闲谈 兄弟们&#xff0c;这不情人节快要到了&#xff0c;我该送女朋友什么&#x1f381;呢&#xff1f;哦&#xff0c;对了&#xff0c;差点忘了&#xff0c;我好像没有女朋友。不过这不影响我们要过这个节日&#xff0c;我们可以学习技术。举个简单的&#x1f330;&#xff1…

关于少样本学习、零样本学习、单样本学习中的support set和query set的概念解析

梳理一下关于少样本学习&#xff08;如few-shot learning&#xff09;、零样本学习&#xff08;zero-shot learning&#xff09;、单样本学习&#xff08;one-shot learning&#xff09;中的support set和query set的概念&#xff0c;以及为何测试集中会涉及到“unseen”&#…

Linux_进程

进程创建 进程退出码 进程等待 程序替换 Shell作为命令行解释器是一个进程&#xff0c;它也有自己的数据结构task_struct和代码和数据。为了防止用户输入的指令造成Shell崩溃&#xff0c;所以Shell执行用户输入的指令是通过创建一个子进程来执行的。例如lspwd等等。 一.进程…

数据工程工程师学习路线图

数据工程岗位要求 Skill Sets required: - Hands on experience enabling data via Adobe Analytics and/or Google Analytics - Understanding of how customer level data is captured and stitched with behavioural data - Experience working with Testing (QA) and D…

浏览器内核的主要功能模块介绍

浏览器内核是浏览器的核心部分&#xff0c;负责解析网页内容、渲染页面和处理用户交互。一个典型的浏览器内核主要包括以下几个功能模块&#xff1a; 1. **解析器&#xff08;Parser&#xff09;**&#xff1a; 解析器负责解析网页内容&#xff0c;包括HTML…

Django学习全纪录:Django开发环境的搭建

导言 对于Django,它是Python的一个开发框架,之前系统地学习过。遗憾的是,对于一些遇到的问题,没有及时地记录下来。因此,我将它重新捡起,进行学习和实践。从搭建环境开始,重新去学习它,期望可以从开发的角度,重新理解软件测试的工作。在今后的测试生涯中,如虎添翼。 …

【Java 数据结构】泛型进阶

泛型 1 什么是泛型2 引出泛型2.1 语法 3 泛型类的使用3.1 语法3.2 示例3.3 类型推导(Type Inference) 泛型是如何编译的擦除机制裸类型4 泛型的上界4.1 语法4.2 示例4.3 复杂示例 5 泛型方法5.1 定义语法5.2 示例5.3 使用示例-可以类型推导5.4 使用示例-不使用类型推导 6 通配符…

【RISC-V DSP设计】基于CEVA DSP架构的指令集分析(二)-函数列表

目录 表3-1&#xff1a;定点滤波器功能 表3-2&#xff1a;定点快速傅里叶变换&#xff08;FFT&#xff09;函数 表3-3&#xff1a;定点数学函数 表3-4&#xff1a;定点三角函数 表3-5&#xff1a;定点向量函数 表3-6&#xff1a;定点矩阵函数 表3-7&#xff1a;浮点滤波…

如何在极低成本硬件上落地人工智能算法 —— 分布式AI

一、背景 分布式AI的发展前景非常广阔&#xff0c;随着5G、6G等高速网络通信技术的普及和边缘计算能力的提升&#xff0c;以及AI算法和硬件的不断优化进步&#xff0c;分布式AI将在多个领域展现出强大的应用潜力和市场价值&#xff1a; 1. **物联网&#xff08;IoT&#xff0…

react【四】css

文章目录 1、css1.1 react和vue css的对比1.2 内联样式1.3 普通的css1.4 css modules1.5 在react中使用less1.6 CSS in JS1.6.1 模板字符串的基本使用1.6.2 styled-components的基本使用1.6.3 接受传参1.6.4 使用变量1.6.5 继承样式 避免代码冗余1.6.6 设置主题色 1.7 React中添…

正月初五迎财神

大家好&#xff0c;我是小悟 正月初五&#xff0c;人们在这一天迎接财神&#xff0c;祈求财运亨通、事业顺利。按照习俗&#xff0c;家家户户都会燃放鞭炮、点灯笼、摆设祭品&#xff0c;以示虔诚。 早晨&#xff0c;太阳刚刚升起&#xff0c;大家便早早起床&#xff0c;开始准…

【数据存储+多任务爬虫】

数据存储 peewee模块 第三方模块&#xff0c;也需要在cmd中安装。 from peewee import *db MySQLDatabase("spider",host"127.0.0.1",port3306,userroot,password123456 )# 类》表 class Person(Model):name CharField(max_length20) # 类型/约束bi…

核心篇-OSPF技术之序(中)

文章目录 一. 实验专题1.1. 实验1&#xff1a;配置多区域OSPF1.1.1. 实验目的1.1.2. 实验拓扑1.1.3. 实验步骤&#xff08;1&#xff09;配置地址&#xff08;2&#xff09;运行OSPF 1.1.4. 实验调试&#xff08;1&#xff09;查看路由器信息&#xff08;2&#xff09;创建环回…

Spring Boot 笔记 010 创建接口_更新用户头像

1.1.1 usercontroller中添加updateAvatar&#xff0c;校验是否为url PatchMapping("updateAvatar")public Result updateAvatar(RequestParam URL String avatarUrl) {userService.updateAvatar(avatarUrl);return Result.success();} 1.1.2 userservice //更新头像…

【UDS】搞懂时间参数

文章目录 背景时间参数的定义应用层相关会话层相关传输层相关网络层相关实际案例分析背景 TBD. 时间参数的定义 注意,这些时间参数都是超时阈值,需要理解为什么要有这些阈值,在哪一端判断这些阈值的,无需“死记硬背”它们的含义。 应用层相关 【P2 Client】 P2 Client 的…