# easy-enroll **Repository Path**: liy6/easy-enroll ## Basic Information - **Project Name**: easy-enroll - **Description**: 本项目是一个面向高校的智能选课系统,支持管理员、教师、学生三类角色,涵盖课程管理、选课抢课、缴费、成绩管理、论坛交流等模块。系统重点解决了高并发场景下的选课秒杀问题,并引入 AI 技术实现智能选课推荐与交互式系统管理。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 26 - **Forks**: 4 - **Created**: 2025-09-05 - **Last Updated**: 2026-04-10 ## Categories & Tags **Categories**: education **Tags**: 秒杀, AI, seckill, Java ## README # EasyEnroll #### 介绍 - **项目描述:** 本项目是一个面向高校的智能选课系统,支持管理员、教师、学生三类角色,涵盖课程管理、选课抢课、缴费、成绩管理、论坛交流等模块。系统重点解决了高并发场景下的选课秒杀问题,并引入 AI 技术实现智能选课推荐与交互式系统管理。 **主要职责:** - 负责系统架构设计、核心模块开发与性能优化,主导**高并发**选课与 **AI** 模块的实现。 - 独立完成前后端功能开发与集成,使用 Docker 容器化部署,Nginx 实现反向代理与静态资源服务。 - **技术实现与亮点:** - **高并发选课与秒杀设计** - 使用 **Redis** 预缓存课程库存,通过 **预减库存 + 异步下单** 防止超卖。 - 集成 **RocketMQ** 实现选课流程异步解耦,结合 **Redisson 分布式锁** 保证数据一致性。 - 设计 **令牌桶限流 + 动态秒杀路径 + 三级防重校验**(本地缓存 + Redis + MySQL),有效应对瞬时高并发请求。 - **AI 赋能选课与管理** - 集成 **Spring AI + Ollama**,基于 Qwen3 模型实现智能选课推荐,支持多维度推荐策略(内容、成绩、学分负载等)。 - 实现 **AI 对话式系统管理**,用户可通过自然语言指令执行如“删除学生20221614001”等操作,提升系统交互体验。 - **支付与通知模块** - 实现支付宝沙箱支付,支持异步回调与订单状态同步,具备重试与幂等处理机制。 - 集成阿里云短信服务,实现公告发布时的实时短信通知。 - **系统性能与部署** - 使用 **Docker** 容器化部署后端与 Redis、RocketMQ 等中间件,通过 **Nginx** 配置负载均衡与静态资源服务。 - 对关键接口进行 SQL 优化与索引调整,使用 Explain 分析查询性能,提升系统响应速度。 #### 安装教程 1. 需要Redis、RocketMQ、MySQL、Ollama #### 使用说明 1. 启动Mysql 2. 启动Redis 3. 启动RocketMQ 进入RocketMQ的bin目录 start mqnamesrv.cmd (启动NameServer) start mqbroker.cmd -n 127.0.0.1:9876 -c ../conf/broker.conf (启动Broker)(详细的broker.conf见“文档”文件夹) 4. 使用NatApp进行外网穿透 5. 在支付宝开发平台注册沙箱应用,去拿到相关的公钥、私钥、APPID 6. 启动ollama服务 #### 部分项目运行截图 ![登录页面](image/image.png) ![学生端主页](image/image-studentHomepage.png) ![限时选课](image/image-studentSeckill.png) ![个人课表](image/image-studentCourseTable.png) ![学生成绩排行榜](image/image-studentLeaderboard.png) ![导出Excel](image/image-excel.png) ![支付宝沙箱支付](image/image-studentPay.png) ![论坛主页](image/image-forum.png) ![贴子详情](image/image-furomPost.png) ![留言板](image/image-forumGroup.png) ![AI评分](image/image-ai.png) ![AI大模型问答](image/image-aiChat.png)