基于 Spring Cloud Alibaba 微服务架构的兼职招聘平台。
前置条件:
- Docker Desktop 20.10+
- Docker Compose V2
三步部署:
REM 步骤1:检查环境
cd scripts && .\docker-check.bat
REM 步骤2:一键部署
cd scripts && .\docker-deploy.bat
REM 步骤3:访问应用
REM 打开浏览器:http://localhost:3000常用命令:
- 停止服务:
cd scripts && .\docker-stop.bat - 查看日志:
cd scripts && .\docker-logs.bat
📖 完整 Docker 指南:详见下方 Docker 部署章节
REM 以管理员身份运行
cd scripts && .\setup-all.bat安装以下软件:
- JDK 21
- Maven 3.9+
- PostgreSQL 15+
- Redis 6+
- Nacos 2.2.3
- Node.js 18+
Windows 快速安装:
choco install temurin21 maven postgresql18 memurai-developer nodejs -yREM 一键安装依赖
cd scripts && .\setup-all.bat
REM 一键启动(会打开各个服务的窗口)
cd scripts && .\start-all.bat- 前端页面:http://localhost:5173
- API 网关:http://localhost:8080
- Nacos 控制台:http://localhost:8848/nacos(账号密码:nacos/nacos)
测试账号:
- 求职者:seeker001 / 123456
- HR:hr001 / 123456
- 管理员:admin / 123456
所有 Windows 批处理脚本都有对应的 Linux Shell 脚本版本,支持跨平台使用。
| Windows 脚本 | Linux 脚本 | 说明 |
|---|---|---|
setup-all.bat |
setup-all.sh |
一键安装依赖 |
start-all.bat |
start-all.sh |
一键启动服务 |
docker-deploy.bat |
docker-deploy.sh |
Docker 部署脚本 |
setup-docker-mirror.bat |
setup-docker-mirror.sh |
Docker 镜像加速器配置 |
scripts\init-database.ps1 |
scripts\init-database.sh |
数据库初始化脚本 |
scripts\start-nacos.bat |
scripts\start-nacos.sh |
Nacos 启动脚本 |
cd /path/to/JobPlus/scripts
chmod +x *.shcd scripts
./setup-all.sh该脚本会:
- 检查 Java、Maven、Node.js、npm 是否已安装
- 预下载后端 Maven 依赖
- 编译后端模块
- 安装前端 npm 依赖
cd scripts
./start-all.sh该脚本会:
- 可选启动 Nacos 配置中心
- 在独立终端窗口中启动 5 个微服务(网关、认证、用户、职位、简历)
- 等待 8 秒后启动前端开发服务器
- 显示所有服务的访问地址
注意:脚本默认使用 xterm 或 gnome-terminal。如果你的系统使用其他终端模拟器,可能需要调整脚本。
cd scripts
./docker-deploy.shcd scripts
sudo ./setup-docker-mirror.sh注意:该脚本需要 sudo 权限来重启 Docker 服务。
如果遇到 "Permission denied" 错误,请确保设置了执行权限:
cd scripts
chmod +x *.sh如果 java、mvn、node 命令找不到,请添加到 PATH:
export PATH=/path/to/java/bin:$PATH
export PATH=/path/to/maven/bin:$PATH
export PATH=/path/to/node/bin:$PATHstart-all.sh 默认使用 xterm 或 gnome-terminal。其他桌面环境:
- 安装 xterm:
sudo apt install xterm(Debian/Ubuntu) - 或修改脚本以使用你系统的终端模拟器
如果 Docker 命令需要 sudo,将你的用户加入 docker 组:
sudo usermod -aG docker $USER
# 重新登录生效# 停止所有 Java 服务
pkill -f "mvn spring-boot:run"
# 停止前端服务
pkill -f "npm run dev"
# 停止 Nacos
pkill -f "startup.sh"或使用停止脚本:
cd scripts
./stop-all.sh # 如果存在cd scripts
./docker-deploy.sh down
# 或
docker-compose down所有服务日志保存在 logs/ 目录:
# 查看最新日志
tail -f logs/gateway-*.log
tail -f logs/frontend-*.log
# 列出所有日志文件
ls -la logs/要修改脚本行为,请编辑对应的 .sh 文件。主要可配置项:
- Nacos 路径:修改
scripts/start-nacos.sh中的NACOS_HOME - 服务端口:修改各服务的
application.yml - 数据库连接:修改
.env文件或application.yml
JobPlus/
+-- backend/ # 后端微服务
| +-- common/ # 公共模块
| +-- gateway/ # API 网关(端口:8080)
| +-- auth-service/ # 认证服务(端口:8081)
| +-- user-service/ # 用户服务(端口:8082)
| +-- job-service/ # 职位服务(端口:8083)
| +-- resume-service/ # 简历服务(端口:8084)
+-- frontend/ # 前端应用(端口:3000/5173)
+-- scripts/ # 部署与工具脚本
| +-- setup-all.* # 依赖安装脚本
| +-- start-all.* # 服务启动脚本
| +-- docker-deploy.* # Docker 部署脚本
| +-- setup-docker-mirror.* # Docker 镜像加速器配置
| +-- init-database.* # 数据库初始化脚本
| +-- start-nacos.* # Nacos 启动脚本
| +-- init-postgresql.sql # 数据库表结构
+-- project-report/ # 软件工程实验报告
+-- logs/ # 应用日志
+-- docker-compose.yml # Docker 编排配置
+-- .env # 环境变量配置
+-- README.md # 项目说明文档
+-- LICENSE # 许可证文件
Docker 模式:
REM Windows
cd scripts
docker compose up -d --build# Linux
cd scripts
docker compose up -d --build本地模式:
- 用 Ctrl+C(Windows)或 pkill 命令(Linux)停止服务窗口。
- 重新运行
cd scripts && start-all.bat(Windows)或cd scripts && ./start-all.sh(Linux)。
Docker 模式:
REM Windows
cd scripts
.\docker-logs.bat
# 或
docker compose logs -f [服务名]# Linux
cd scripts
docker compose logs -f [服务名]本地模式:
# Windows PowerShell
Get-Content "logs\start-all-*.log" -Tail 50# Linux
tail -f logs/start-all-*.log如果使用 JDK 25,可能会遇到 Lombok 编译错误。解决方法:
- 降级到 JDK 21(推荐)
- 或更新 Lombok 到支持 JDK 25 的最新版本
如果 Docker 已安装但未检测到:
- 确保 Docker Desktop 正在运行
- 运行
cd scripts && .\fix-docker-env.bat修复环境变量 - 重启终端
详见上方 Linux 支持章节。
如果端口已被占用:
- 修改
application.yml文件中的端口配置 - 或停止占用该端口的进程
确保 PostgreSQL 正在运行且可访问:
# 检查 PostgreSQL 状态
pg_isready
# 初始化数据库
./scripts/init-database.sh确保 Nacos 正在运行:
# 检查 Nacos 状态
curl http://localhost:8848/nacos
# 启动 Nacos
./scripts/start-nacos.shproject-report/ 目录包含软件工程课程所需的 PlantUML 图表和报告模板。
| 实验 | 文件 | 说明 |
|---|---|---|
| 数据流图 | 实验一_数据流图.puml |
上下文图 + 0 层分解 |
| 用例图 | 实验二_用例图.puml |
3 个参与者,28 个用例 |
| 类图 | 实验三_类图.puml |
核心领域模型 + 服务层 |
| 序列图 | 实验四_序列图.puml |
完整简历投递流程 |
| 活动图 | 实验五_活动图.puml |
带判断节点的业务流程 |
| 状态图 | 实验六_状态图.puml |
投递记录 6 状态转换 |
PlantText - https://www.planttext.com/
- 打开网站
- 复制
.puml文件内容 - 粘贴到编辑器
- 点击 "Export" 下载图片
- 选择 SVG 格式(矢量图,插入 Word 不会失真)
- 安装插件:PlantUML(作者 jebbs)
- 打开
.puml文件 - 按
Alt + D预览 - 右键 → "Export Current Diagram"
- 选择 SVG 或 PNG 格式
# 安装 PlantUML(需要 Java)
choco install plantuml # Windows
brew install plantuml # macOS
# 渲染所有文件为 SVG
plantuml -tsvg *.puml- 安装插件:PlantUML Integration
- 打开
.puml文件 - 自动出现预览窗口
- 点击导出按钮
-
渲染图表:使用上述任意方法将所有 6 个
.puml文件渲染为 SVG 格式 -
插入 Word 报告:
- 打开
软件工程基础实验报告.docx - 找到每个实验的占位符
- 删除占位文字
- Word 菜单:插入 → 图片 → 此设备
- 选择对应的 SVG 文件
- 调整图片大小(建议宽度:14-16 厘米)
- 打开
-
填写个人信息:
- 学号
- 姓名
- 班级
- 指导教师
-
完善实验内容:
- 添加 实验步骤:详细描述你的操作过程
- 添加 实验总结:收获与遇到的问题
-
检查并提交:
- 检查所有图表是否清晰可读
- 确认格式统一(字体、大小)
- 检查拼写和语法
- 保存最终版本
- 提交实验报告
- Word 插入请使用 SVG 格式(矢量图,不会失真)
- PNG 需要高分辨率(建议 300 DPI)
- 保持宽高比,不要拉伸
- 中文字符显示正常,所有图表均使用 UTF-8 编码测试
- 定期保存 Word 文档,避免数据丢失
- PlantUML 官网:https://plantuml.com/zh/
- 在线编辑器:https://www.planttext.com/
- VS Code 插件:PlantUML by jebbs
本项目仅供学习交流使用。