大学生就业信息管理系统
这是一个面向高校大学生的就业信息管理系统,采用前后端分离架构,实现了学生求职、企业招聘、管理员后台管理三端功能。系统涵盖职位发布、简历管理、面试安排、合同签署、就业指南等完整的就业服务流程,适合作为计算机设计或学习项目参考。
项目封面

项目说明
大学生就业信息管理系统
项目简介
这是一个面向高校大学生的就业信息管理系统,采用前后端分离架构,实现了学生求职、企业招聘、管理员后台管理三端功能。系统涵盖职位发布、简历管理、面试安排、合同签署、就业指南等完整的就业服务流程,适合作为计算机设计或学习项目参考。
技术栈
| 技术 | 版本/说明 |
|---|---|
| 前端框架 | Vue 3.5.10 |
| 构建工具 | Vite 5.4.19 |
| UI组件库 | Element Plus 2.9.10 |
| 状态管理 | Pinia 2.3.1 |
| 路由管理 | Vue Router 4.5.0 |
| HTTP请求 | Axios 1.9.0 |
| 图表库 | ECharts 5.6.0 |
| 富文本编辑器 | Quill 2.0.3 |
| 后端框架 | Express 4.16.1 |
| 数据库 | MySQL 5.7+ |
| 数据库驱动 | mysql2 3.14.1 |
| 身份认证 | JWT (jsonwebtoken 9.0.2) |
| 密码加密 | bcryptjs 2.4.3 |
| 文件上传 | Multer |
项目特点
- 三端分离:学生端、企业端、管理员端独立设计,功能清晰
- 完整业务流程:涵盖从职位发布到合同签署的完整就业流程
- 数据可视化:管理员首页集成ECharts图表展示统计数据
- 富文本支持:新闻、公告等内容支持富文本编辑
- JWT认证:基于Token的身份认证机制,安全可靠
- 响应式设计:基于Element Plus的现代化UI界面
功能模块
1. 学生端功能
1.1 首页模块 (views/student/Home.vue)
- 轮播图展示
- 最新公告通知
- 热门职位推荐
- 就业新闻资讯
1.2 职位浏览模块 (views/student/Jobs.vue)
- 职位列表展示
- 职位搜索筛选
- 职位详情查看
- 简历投递功能
1.3 公告通知模块 (views/student/Notice.vue)
- 系统公告列表
- 公告详情查看
1.4 新闻资讯模块 (views/student/News.vue)
- 就业新闻列表
- 新闻分类浏览
- 新闻详情阅读
1.5 就业指南模块 (views/student/Guide.vue)
- 求职技巧文章
- 面试指导内容
- 职业规划建议
1.6 个人中心模块 (views/student/My.vue)
- 个人信息管理
- 简历编辑维护
- 面试记录查看
- 合同签署管理
2. 企业端功能
2.1 企业首页 (views/company/Home.vue)
- 数据统计概览
- 待处理事项提醒
2.2 企业信息管理 (views/company/Info.vue)
- 企业资料编辑
- 营业执照上传
- 企业认证申请
2.3 职位管理 (views/company/Jobs.vue)
- 职位发布
- 职位编辑/删除
- 职位状态管理
- 收到的简历查看
2.4 面试管理 (views/company/Interview.vue)
- 面试安排
- 面试时间/地点设置
- 面试结果反馈
- 面试状态更新
2.5 合同管理 (views/company/Contract.vue)
- 合同生成
- 合同发送
- 合同状态跟踪
3. 管理员端功能
3.1 数据统计首页 (views/admin/Home.vue)
- 用户统计图表
- 职位统计图表
- 面试/合同统计
- 系统运营数据
3.2 用户管理 (views/admin/User.vue)
- 学生账号管理
- 企业账号管理
- 账号状态控制
3.3 企业审核 (views/admin/Company.vue)
- 企业认证审核
- 审核意见填写
- 审核状态管理
3.4 职位管理 (views/admin/Jobs.vue)
- 全部职位查看
- 职位审核管理
- 职位状态控制
3.5 简历管理 (views/admin/Resume.vue)
- 学生简历查看
- 简历状态管理
3.6 面试管理 (views/admin/Interview.vue)
- 面试记录查看
- 面试数据统计
3.7 合同管理 (views/admin/Contract.vue)
- 合同记录查看
- 合同数据统计
3.8 内容管理
- 轮播图管理 (
views/admin/Carousel.vue) - 公告管理 (
views/admin/Notice.vue) - 新闻管理 (
views/admin/News.vue) - 就业指南管理 (
views/admin/Guide.vue)
3.9 个人设置 (views/admin/Profile.vue)
- 管理员信息修改
- 密码修改
项目结构
student-work-web-pc/
├── express/ # 后端服务
│ ├── bin/ # 启动脚本
│ │ └── www # 服务入口
│ ├── config/ # 配置文件
│ │ └── db.js # 数据库配置
│ ├── controllers/ # 控制器层
│ ├── routes/ # 路由层
│ │ ├── admin/ # 管理员端路由
│ │ │ ├── alldata.js # 统计数据接口
│ │ │ ├── carousel.js # 轮播图管理
│ │ │ ├── company.js # 企业管理
│ │ │ ├── contract.js # 合同管理
│ │ │ ├── guide.js # 就业指南管理
│ │ │ ├── interview.js # 面试管理
│ │ │ ├── job.js # 职位管理
│ │ │ ├── news.js # 新闻管理
│ │ │ ├── notice.js # 公告管理
│ │ │ └── resume.js # 简历管理
│ │ ├── company/ # 企业端路由
│ │ │ ├── alldata.js # 统计数据
│ │ │ ├── company.js # 企业信息
│ │ │ ├── contract.js # 合同管理
│ │ │ ├── interview.js # 面试管理
│ │ │ ├── job.js # 职位管理
│ │ │ ├── profile.js # 个人设置
│ │ │ └── resume.js # 简历查看
│ │ ├── student/ # 学生端路由
│ │ │ ├── carousel.js # 轮播图
│ │ │ ├── contract.js # 合同
│ │ │ ├── guide.js # 就业指南
│ │ │ ├── interview.js # 面试
│ │ │ ├── job.js # 职位
│ │ │ ├── news.js # 新闻
│ │ │ ├── notice.js # 公告
│ │ │ └── resume.js # 简历
│ │ ├── user.js # 用户认证
│ │ └── upload.js # 文件上传
│ ├── services/ # 服务层
│ ├── util/ # 工具函数
│ ├── public/ # 静态资源
│ │ └── images/ # 上传图片存储
│ ├── app.js # Express应用入口
│ └── package.json # 后端依赖配置
│
├── web/ # 前端项目
│ ├── src/
│ │ ├── api/ # API接口封装
│ │ ├── assets/ # 静态资源
│ │ ├── components/ # 公共组件
│ │ ├── router/ # 路由配置
│ │ │ └── index.js # 路由定义
│ │ ├── stores/ # Pinia状态管理
│ │ ├── styles/ # 全局样式
│ │ ├── views/ # 页面视图
│ │ │ ├── admin/ # 管理员端页面
│ │ │ │ ├── AdminLayout.vue
│ │ │ │ ├── Home.vue
│ │ │ │ ├── User.vue
│ │ │ │ ├── Company.vue
│ │ │ │ ├── Jobs.vue
│ │ │ │ ├── Resume.vue
│ │ │ │ ├── Interview.vue
│ │ │ │ ├── Contract.vue
│ │ │ │ ├── Carousel.vue
│ │ │ │ ├── Notice.vue
│ │ │ │ ├── News.vue
│ │ │ │ ├── Guide.vue
│ │ │ │ └── Profile.vue
│ │ │ ├── company/ # 企业端页面
│ │ │ │ ├── CompanyLayout.vue
│ │ │ │ ├── Home.vue
│ │ │ │ ├── Info.vue
│ │ │ │ ├── Jobs.vue
│ │ │ │ ├── Interview.vue
│ │ │ │ └── Contract.vue
│ │ │ ├── student/ # 学生端页面
│ │ │ │ ├── Layout.vue
│ │ │ │ ├── Home.vue
│ │ │ │ ├── Jobs.vue
│ │ │ │ ├── Notice.vue
│ │ │ │ ├── News.vue
│ │ │ │ ├── Guide.vue
│ │ │ │ └── My.vue
│ │ │ ├── Login.vue # 登录页
│ │ │ └── Register.vue # 注册页
│ │ ├── App.vue # 根组件
│ │ └── main.js # 入口文件
│ ├── public/ # 公共资源
│ ├── index.html # HTML模板
│ ├── vite.config.js # Vite配置
│ └── package.json # 前端依赖配置
│
├── student_work_db.sql # 数据库初始化脚本
├── 数据库创建方法.md # 数据库创建说明
├── mysql操作手册.md # MySQL操作指南
└── 新 - 运行必读.docx # 运行说明文档
数据模型
用户表 (user)
{
id: bigint, // 用户ID
username: varchar(50), // 用户名
password: varchar(100), // 密码(加密存储)
name: varchar(50), // 姓名
phone: varchar(20), // 手机号
email: varchar(100), // 邮箱
role: varchar(20), // 角色:admin/student/company
avatar: varchar(1000), // 头像
status: varchar(20), // 状态:正常/禁用
last_login: datetime, // 最后登录时间
create_time: datetime, // 创建时间
update_time: datetime // 更新时间
}
企业表 (company)
{
id: bigint, // 企业ID
user_id: bigint, // 关联用户ID
name: varchar(100), // 企业名称
license: varchar(200), // 营业执照
licenseNo: varchar(200), // 统一社会信用代码
industry: varchar(50), // 所属行业
scale: varchar(50), // 企业规模
address: varchar(200), // 企业地址
description: text, // 企业简介
website: varchar(200), // 企业网站
status: varchar(20), // 状态:待审核/已通过/已拒绝
remark: varchar(1000), // 审核意见
create_time: datetime, // 创建时间
update_time: datetime // 更新时间
}
职位表 (job)
{
id: bigint, // 职位ID
company_id: bigint, // 企业ID
company_name: varchar, // 公司名称
title: varchar(100), // 职位名称
category: varchar(50), // 职位类别
salary_min: int, // 最低薪资
salary_max: int, // 最高薪资
education: varchar(20), // 学历要求
experience: varchar(20), // 经验要求
description: text, // 职位描述
requirement: text, // 任职要求
address: text, // 工作地点
status: varchar(20), // 状态:招聘中/已结束
create_time: datetime, // 创建时间
update_time: datetime // 更新时间
}
简历表 (resume)
{
id: bigint, // 简历ID
user_id: bigint, // 用户ID
name: varchar(50), // 姓名
gender: varchar(10), // 性别
birth: date, // 出生日期
phone: varchar(20), // 手机号
email: varchar(100), // 邮箱
education: varchar(20), // 学历
school: varchar(100), // 学校
major: varchar(100), // 专业
graduation_time: date, // 毕业时间
skills: text, // 技能特长
experience: text, // 实习经历
project: text, // 项目经历
status: varchar(20), // 状态:草稿/已发布
create_time: datetime, // 创建时间
update_time: datetime // 更新时间
}
面试表 (interview)
{
id: bigint, // 面试ID
job_id: bigint, // 职位ID
resume_id: bigint, // 简历ID
company_id: bigint, // 企业ID
user_id: bigint, // 学生ID
student_name: varchar, // 学生姓名
time: datetime, // 面试时间
address: varchar(200), // 面试地点
type: varchar(20), // 面试类型:现场面试/视频面试
status: varchar(20), // 状态:待面试/审核通过/已通过/未通过
feedback: text, // 面试反馈
create_time: datetime, // 创建时间
update_time: datetime // 更新时间
}
合同表 (contract)
{
id: bigint, // 合同ID
job_id: bigint, // 职位ID
company_id: bigint, // 企业ID
user_id: bigint, // 学生ID
company_name: varchar, // 公司名称
student_name: varchar, // 学生姓名
title: varchar(100), // 合同标题
content: text, // 合同内容
salary: int, // 薪资
start_date: date, // 开始日期
end_date: date, // 结束日期
status: varchar(20), // 状态:待签署/已签署/已拒绝
sign_time: datetime, // 签订时间
create_time: datetime, // 创建时间
update_time: datetime // 更新时间
}
其他数据表
- 轮播图表 (carousel):首页轮播图管理
- 公告表 (notice):系统公告通知
- 新闻表 (news):就业新闻资讯
- 就业指南表 (guide):求职技巧、面试指导等内容
- 登录日志表 (login_log):用户登录记录
运行环境要求
- Node.js:16.0.0 及以上版本
- MySQL:5.7 及以上版本
- npm/pnpm:包管理工具
快速开始
1. 数据库配置
- 创建数据库
CREATE DATABASE student_work_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
- 导入数据库脚本
mysql -u root -p student_work_db < student_work_db.sql
- 修改数据库配置
编辑
express/config/db.js,配置数据库连接信息:
{
host: 'localhost',
user: 'root',
password: '你的密码',
database: 'student_work_db'
}
2. 启动后端服务
# 进入后端目录
cd express
# 安装依赖
npm install
# 或使用 pnpm
pnpm install
# 启动开发服务器
npm run dev
后端服务默认运行在 http://localhost:5002
3. 启动前端项目
# 进入前端目录
cd web
# 安装依赖
npm install
# 或使用 pnpm
pnpm install
# 启动开发服务器
npm run dev
前端项目默认运行在 http://localhost:5173
4. 访问系统
- 学生端首页:
http://localhost:5173/ - 企业端首页:
http://localhost:5173/company - 管理员后台:
http://localhost:5173/admin
预置测试账号
| 角色 | 用户名 | 密码 | 说明 |
|---|---|---|---|
| 管理员 | admin | 123456 | 系统管理员账号 |
| 学生 | zhangsan | 123456 | 测试学生账号 |
| 企业 | 家里蹲科技 | 123456 | 测试企业账号 |
API接口说明
用户认证接口
| 接口 | 方法 | 说明 |
|---|---|---|
| /api/user/login | POST | 用户登录 |
| /api/user/register | POST | 用户注册 |
| /api/user/info | GET | 获取用户信息 |
学生端接口 (/api/student/*)
| 接口 | 方法 | 说明 |
|---|---|---|
| /api/student/carousel | GET | 获取轮播图 |
| /api/student/notice | GET | 获取公告列表 |
| /api/student/news | GET | 获取新闻列表 |
| /api/student/job | GET | 获取职位列表 |
| /api/student/guide | GET | 获取就业指南 |
| /api/student/resume | POST/PUT | 简历管理 |
| /api/student/interview | GET | 获取面试记录 |
| /api/student/contract | GET/PUT | 合同管理 |
企业端接口 (/api/company/*)
| 接口 | 方法 | 说明 |
|---|---|---|
| /api/company/info | GET/PUT | 企业信息管理 |
| /api/company/job | CRUD | 职位管理 |
| /api/company/resume | GET | 查看收到的简历 |
| /api/company/interview | CRUD | 面试管理 |
| /api/company/contract | CRUD | 合同管理 |
管理员接口 (/api/admin/*)
| 接口 | 方法 | 说明 |
|---|---|---|
| /api/admin/alldata | GET | 统计数据 |
| /api/admin/user | CRUD | 用户管理 |
| /api/admin/company | CRUD | 企业管理 |
| /api/admin/job | CRUD | 职位管理 |
| /api/admin/carousel | CRUD | 轮播图管理 |
| /api/admin/notice | CRUD | 公告管理 |
| /api/admin/news | CRUD | 新闻管理 |
| /api/admin/guide | CRUD | 就业指南管理 |
扩展建议
如需进一步完善项目,可考虑以下扩展:
- 消息通知系统:添加站内消息、邮件通知功能
- 简历模板:提供多种简历模板供学生选择
- 智能推荐:基于学生简历智能推荐匹配职位
- 在线沟通:企业与学生的即时通讯功能
- 数据导出:支持简历、合同等数据导出为PDF
- 移动端适配:开发小程序或移动端H5版本
- 第三方登录:接入微信、QQ等第三方登录
- 数据统计报表:更丰富的数据分析和报表功能
- 权限管理:更细粒度的角色权限控制
- 日志审计:完善的操作日志记录
注意事项
- 本项目为学习演示项目,部分功能可能需要根据实际需求完善
- 生产环境部署时请修改JWT密钥和数据库密码
- 上传文件存储路径需要根据服务器环境配置
- 建议使用HTTPS协议保障数据传输安全
许可证
本项目仅供学习交流使用,请勿用于商业用途。
技术分类
包含内容
适用人群
学习参考与二次开发
关于 AI源码
AI源码 专注优质项目源码分享,提供完整源码、详细文档与技术支持,助力源码设计与课程作业。
相关推荐
查看全部 →
大学生在线焦虑测试系统
这是一个专为大学生设计的在线心理健康评估与咨询平台,集成了焦虑测评、在线咨询、个性化建议等核心功能。系统采用前后端分离架构,支持学生、医生、管理员三种角色,提供专业的心理健康服务。

商品管理系统HTML(登录注册增删增删改查)
这是一个基于 Node.js + MySQL + HTML(Vue2) 的商品管理系统,包含用户登录注册和商品的增删改查功能。

高校快递代取系统
本系统是一套高校快递代取微信小程序全栈平台,包含用户端小程序、骑手接单端与 PC 管理后台。用户可发布代取预约、在线支付、跟踪订单进度与申诉;骑手可在大厅接单、取件配送并填写备注;管理员负责驿站与价格配置、公告发布、骑手审核、订单改派及数据统计。后端采用 Express + MySQL,适合作为校园 O2O 类小程序计算机设计参考。

高校选课系统
这是一个完整的高校选课管理系统,采用前后端分离架构,实现了院系管理、专业管理、班级管理、学生管理、教师管理、课程管理、选课管理等核心功能。系统支持多角色(超级管理员、普通管理员、教师、学生)权限控制,适合作为Vue3全栈开发学习项目或计算机设计参考。

高校查分系统
高校学生成绩查询与管理系统,采用前后端分离架构,支持管理员、教师、学生三种角色。

鲜花商城(HTML版)
鲜花商城是一个面向移动端的鲜花电商前端演示项目,采用纯 HTML + CSS + JavaScript 实现,无需构建工具即可直接运行。项目模拟了完整的购物流程:浏览商品、查看详情、下单确认、订单管理以及用户登录注册,适合作为前端大作业或移动端页面练习。