基于NodeJS毕业生发布就业信息系统设计与实现

基于NodeJS毕业生发布就业信息系统设计与实现

Vue2ExpressMySQLElementUI就业管理权限管理JWT认证Redis缓存
分类:Web应用系统
价格:
¥299 ¥4990.6折
状态:已发布
发布时间:2024年1月1日
更新时间:2026年3月16日
下载次数:0 次
浏览次数:36 次
评分:

项目简介

基于Vue2.6+Express+MySQL开发的全栈毕业生就业管理系统,采用前后端分离架构,支持三种角色(学校管理员、企业用户、毕业生)的权限管理。系统实现毕业生信息管理、企业信息管理、招聘信息发布与浏览、求职信息管理等完整功能模块,通过JWT认证和Redis缓存保障安全性和性能,帮助学校高效掌握就业情况,促进毕业生与企业精准匹配。

详细介绍


项目主要功能:

权限管理模块

  • 支持三种角色:管理员、企业、毕业生
  • 基于JWT Token的身份认证
  • 动态路由权限控制,根据角色动态加载菜单
  • 路由守卫和权限白名单机制

个人中心模块

  • 三种角色用户展示和修改个人信息
  • 头像/Logo上传功能(支持multer文件上传)
  • 联系方式管理和密码修改

毕业生信息管理

  • 管理员可添加、删除、编辑所有毕业生基本信息
  • 毕业生可查询修改自己的信息
  • 支持个人照片上传和展示
  • 分页列表展示、模糊搜索功能

企业信息管理

  • 管理员可管理所有企业信息
  • 企业可管理自己的信息和企业Logo
  • 包含企业名称、行业、法人、简介等字段
  • 支持逻辑删除

企业招聘信息管理

  • 企业可发布、修改、删除自己的招聘信息
  • 管理员可管理所有企业招聘信息
  • 支持发布状态控制(is_published字段)
  • 招聘信息包含:职位名称、工作地点、薪资、职责、要求、福利等

毕业生求职信息管理

  • 毕业生可创建多个求职信息,设置公开/私密状态
  • 管理员可管理所有毕业生求职信息
  • 求职信息包含:实习经历、技能、项目经验、自我介绍、求职意向
  • 支持简历附件上传

招聘信息浏览模块

  • 公开浏览所有已发布的招聘信息
  • 分页展示,包含企业Logo和公司名称
  • 支持关键字搜索和筛选

技术栈说明:

前端技术栈:

  • Vue 2.6.10
  • ElementUI 2.15.0
  • Vue Router 3.0.6(路由管理)
  • Vuex 3.1.0(状态管理)
  • Axios 0.18.1(HTTP请求)
  • NProgress(进度条)
  • js-cookie(Cookie管理)
  • WangEditor(富文本编辑器)
  • Echarts 5.1.2(数据可视化)

后端技术栈:

  • Node.js 16.0+
  • Express 4.16.1(Web框架)
  • JWT 9.0.2(身份认证)
  • Redis 3.1.2(缓存)
  • MySQL2 3.6.5(数据库驱动)
  • Multer 1.4.5(文件上传)
  • CORS(跨域处理)
  • Morgan(日志记录)

数据库设计:

  • administrators(管理员表)
  • graduates(毕业生表)
  • companies(企业表)
  • job_applications(求职信息表)
  • job_postings(招聘信息表)
  • 使用逻辑删除
  • 采用InnoDB引擎,支持事务

环境要求:

  • Node.js 16.0或更高版本
  • MySQL 5.7+
  • Redis 4.0+(可选,用于缓存)
  • 现代浏览器(Chrome、Firefox、Safari最新两个版本,IE10+)

安装部署步骤:

  1. 克隆项目代码到本地
  2. 配置后端:进入graduate-employment-server目录修改config.js中的MySQL和Redis连接配置运行npm install安装依赖在MySQL中执行grad_emp_db.sql文件创建数据库和表结构运行npm run start启动服务端(默认端口3000)
  3. 配置前端:进入graduate-employment-client目录运行npm install安装依赖运行npm run dev启动开发服务器(默认端口9528)
  4. 生产部署:前端构建:npm run build:prod使用Nginx部署前端静态资源使用PM2管理后端进程

使用说明:

系统提供三种角色的测试账号:

  • 管理员账号:账号:root / 密码:root123456权限:可管理所有毕业生、企业、招聘信息、求职信息
  • 毕业生账号:账号:zhangsan / 密码:123456权限:可管理自己的个人信息和求职信息,浏览招聘信息
  • 企业账号:账号:newcompany123 / 密码:newpassword123权限:可管理自己的企业信息和招聘信息,浏览毕业生求职信息

各角色登录后,系统会根据JWT Token中的角色信息动态加载对应的菜单和权限,实现数据隔离和访问控制。