ai 面试官后端管理系统,基于若依快速开发平台进行业务扩展,包含系统管理、AI 面试业务、日志审计、任务调度、代码生成等能力。
- Java 17 / Spring Boot 3.3.1 / Spring Security 6.3.1
- MyBatis / MyBatis-Plus / PageHelper
- MySQL / Druid
- Redis / JWT
- Swagger(Springfox 3.0, OpenAPI 3)
- WebSocket(STOMP)
- MinIO
- ruoyi-admin:启动模块与 Web 层接口
- ruoyi-main:AI 面试业务域模型、服务与 Mapper
- ruoyi-framework:安全、拦截器、WebSocket、缓存、数据源等基础能力
- ruoyi-system:系统管理核心域(用户、角色、菜单、日志等)
- ruoyi-quartz:定时任务调度
- ruoyi-generator:代码生成器
- ruoyi-common:通用工具与基础组件
- sql:数据库初始化脚本
- 模型管理、分类与分类项、轮播与公告
- 面试记录、满意度调查
- 聊天与消息推送(HTTP + WebSocket)
- 告警与通知
- 微信登录与小程序相关能力
- 用户管理:系统用户配置与权限分配
- 部门管理:组织架构与数据权限
- 岗位管理:用户岗位与职责
- 菜单管理:路由与权限按钮
- 角色管理:角色权限与数据范围
- 字典管理:通用数据维护
- 参数管理:运行时动态配置
- 通知公告:信息发布与维护
- 操作日志/登录日志:安全审计
- 在线用户:当前会话监控
- 定时任务:任务调度与日志
- 代码生成:CRUD 模块生成
- 系统接口:Swagger 文档
- 服务/缓存/连接池监控
- JDK 17
- Maven 3.8+
- MySQL 8.x
- Redis 6.x+
- MinIO(如需文件存储能力)
- 初始化数据库
- 执行 ry_20250522.sql
- 可选执行初始化脚本:
- 修改配置
- 数据库与连接池:application-druid.yml
- Redis、MinIO、AI 与微信配置:application.yml
- 启动服务
- IDE 运行 RuoYiApplication
- 或命令行:
mvn -pl ruoyi-admin -am spring-boot:runmvn clean package -DskipTests后执行java -jar ruoyi-admin/target/ruoyi-admin.jar
- 访问服务
- Swagger(默认开启):http://localhost:8080/dev-api/swagger-ui/index.html
- Swagger 前缀配置:
swagger.pathMapping=/dev-api - Druid 监控:/druid(账号 ruoyi / 密码 123456,见数据源配置)
- STOMP 端点:/ws(支持 SockJS)
- 告警消息:/app/alarm → /topic/alarm
- 聊天推送:/user/queue/chat
- Dockerfile 多阶段构建:
- Dockerfile
- 产物:
ruoyi-admin/target/ruoyi-admin.jar→eclipse-temurin:17-jre-alpine
- 手动构建镜像:
docker build -t ai-interview-backend -f backend/ai-interview-controller/Dockerfile backend/ai-interview-controller
- 环境文件:
- deployment/.env.example(包含
DB_USERNAME/DB_PASSWORD、MinIO、AI 等)
- deployment/.env.example(包含
- 核心服务:
- ai-interview-backend:后端容器,端口映射
8081:8080 - Redis/MinIO:通过网络与前端 Nginx 互通(Redis 主机名
redis,MinIO 通过前端反代/pic/)
- ai-interview-backend:后端容器,端口映射
- 启动:
docker compose -f deployment/docker-compose.yml up -d --build
- 连接数据库失败(Communications link failure):
- 容器访问宿主机 MySQL:使用
host.docker.internal:3306并保证 MySQL 监听非 127.0.0.1
- 容器访问宿主机 MySQL:使用
- 验证码 401:
- 代理未去除
/prod-api前缀导致;确保location /prod-api/ { proxy_pass http://.../; }
- 代理未去除
- MinIO 图片无法访问:
- Nginx 上游必须指向
minio:9000(容器内端口),不是宿主机映射19000
- Nginx 上游必须指向
演示地址:http://vue.ruoyi.vip
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |















