Skip to content
 
 

Repository files navigation

圆形图片

ai-interview-controller v1.0.0

基于SpringBoot+Vue前后端分离的Java快速开发框架

项目简介

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:数据库初始化脚本

业务功能

AI 面试业务

  • 模型管理、分类与分类项、轮播与公告
  • 面试记录、满意度调查
  • 聊天与消息推送(HTTP + WebSocket)
  • 告警与通知
  • 微信登录与小程序相关能力

系统管理(若依基础能力)

  1. 用户管理:系统用户配置与权限分配
  2. 部门管理:组织架构与数据权限
  3. 岗位管理:用户岗位与职责
  4. 菜单管理:路由与权限按钮
  5. 角色管理:角色权限与数据范围
  6. 字典管理:通用数据维护
  7. 参数管理:运行时动态配置
  8. 通知公告:信息发布与维护
  9. 操作日志/登录日志:安全审计
  10. 在线用户:当前会话监控
  11. 定时任务:任务调度与日志
  12. 代码生成:CRUD 模块生成
  13. 系统接口:Swagger 文档
  14. 服务/缓存/连接池监控

运行环境

  • JDK 17
  • Maven 3.8+
  • MySQL 8.x
  • Redis 6.x+
  • MinIO(如需文件存储能力)

快速启动

  1. 初始化数据库
  2. 修改配置
  3. 启动服务
    • IDE 运行 RuoYiApplication
    • 或命令行:
      • mvn -pl ruoyi-admin -am spring-boot:run
      • mvn clean package -DskipTests 后执行 java -jar ruoyi-admin/target/ruoyi-admin.jar
  4. 访问服务

接口文档与监控

WebSocket

  • STOMP 端点:/ws(支持 SockJS)
  • 告警消息:/app/alarm → /topic/alarm
  • 聊天推送:/user/queue/chat

Docker 构建

  • Dockerfile 多阶段构建:
    • Dockerfile
    • 产物:ruoyi-admin/target/ruoyi-admin.jareclipse-temurin:17-jre-alpine
  • 手动构建镜像:
    • docker build -t ai-interview-backend -f backend/ai-interview-controller/Dockerfile backend/ai-interview-controller

Docker Compose 部署

  • 环境文件:
  • 核心服务:
    • ai-interview-backend:后端容器,端口映射 8081:8080
    • Redis/MinIO:通过网络与前端 Nginx 互通(Redis 主机名 redis,MinIO 通过前端反代 /pic/
  • 启动:
    • docker compose -f deployment/docker-compose.yml up -d --build

常见问题

  • 连接数据库失败(Communications link failure):
    • 容器访问宿主机 MySQL:使用 host.docker.internal:3306 并保证 MySQL 监听非 127.0.0.1
  • 验证码 401:
    • 代理未去除 /prod-api 前缀导致;确保 location /prod-api/ { proxy_pass http://.../; }
  • MinIO 图片无法访问:
    • Nginx 上游必须指向 minio:9000(容器内端口),不是宿主机映射 19000

在线体验

演示地址:http://vue.ruoyi.vip

演示图

About

🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages