Code Nest 是一个面向开发者的成长型社区与知识运营平台,采用 Spring Boot 3.4.4 + Vue3 + Vite 的前后端分离架构,后台整合 Sa-Token 权限、Redisson 缓存、MySQL 题库/内容系统以及 Prometheus 监控指标,提供包含题库、面试辅导、知识图谱、博客、代码工坊、在线简历、IM 聊天、积分激励与抽奖等在内的多模块能力。
- vue3-admin-front:面向运营/管理员的后台,覆盖菜单/角色、内容审核、题库管理、版本追踪、任务配置、观测看板等能力。
- vue3-user-front:面向开发者的用户端,提供刷题、简历制作、动态广场、博客阅读、代码分享、通知消息等场景。
- xiaou-application:多模块聚合的 Spring Boot API,整合
xiaou-*业务模块,对外暴露统一的/api网关、鉴权、日志与监控。
- 细粒度鉴权:基于 Sa-Token 构建双端(管理员/用户)登录域、权限树、会话隔离与 Token 签名机制,支持并发登录及多场景鉴权。
- 智能题库体系:
xiaou-interview内置题型分类、刷题记录、自动组卷、错题重练及统计报表,配合知识图谱实现学习闭环。 - 内容创作矩阵:博客系统、动态广场、Bug 趣味墙、代码工坊与在线简历模块组合为全栈内容生产链路。
- 成长激励与运营:积分体系、摸鱼任务、抽奖活动、版本发布墙、消息通知与活动打卡全面强化用户粘性。
- 统一资产管理:
xiaou-filestorage负责文件/附件/导出作品上传,多种存储适配;xiaou-resume支持简历模板、模块化数据、版本历史与多格式导出。 - 企业级可观测性:SQL/行为审计、Redisson 限流、异步任务监控、Prometheus + Grafana 指标、Nginx/ Docker 部署脚本开箱即用。
- 在线简历(xiaou-resume):拖拽式编辑、模板市场、版本比对、PDF/Word/HTML 导出与分享统计。
- 代码工坊(xiaou-codepen):内置前端 + 后端 + SQL 演示沙盒,支持作品发布、Fork、收藏及后台运营。
- 知识图谱(xiaou-knowledge):以节点关系呈现技术体系,结合 Pinia/G6 构建交互式知识网络。
- 动态/社区(xiaou-moment、xiaou-community):用户动态流、话题标签、点赞/收藏、内容推荐权重与违规审核。
- 通知 & IM(xiaou-notification、xiaou-chat):系统/私信/群聊,WebSocket 实时消息、撤回、封禁、敏感词检测。
- 敏感词/风控(xiaou-sensitive、xiaou-sensitive-api):分词匹配、命中日志、策略管理、WebHook 回调。
- 版本与运营(xiaou-version、xiaou-moyu、xiaou-points、lottery):版本里程碑、摸鱼打卡、积分规则、抽奖活动与奖品管理。
- SQL 慢查询与操作审计、行为日志沉淀到
xiaou.monitor,支持异步写入与保留周期配置。 docs/Prometheus运维部署指南.md提供 Prometheus + Grafana 一键部署说明,Actuator/Micrometer 暴露业务指标。- Dockerfile、Nginx 反向代理配置与多环境配置文件(dev/prod)一应俱全,便于快速上线。
- Spring Boot 3.4.4、Spring MVC、Spring Validation、Sa-Token 鉴权。
- MySQL 8 + MyBatis(含 PageHelper)、多数据源、数据库脚本在
sql/。 - Redis 6 + Redisson(分布式锁、延迟队列),异步任务/定时调度。
- SpringDoc OpenAPI 3、Knife4j、Hutool、Lombok、MapStruct 等辅助库。
- 日志监控:Micrometer、Prometheus Exporter、SQL/操作日志框架、自定义监控配置。
- Vue 3 + Composition API + TypeScript(可选),构建工具 Vite 5。
- Element Plus 组件库、Pinia 状态、Vue Router 4、Axios 网络层、SCSS/Sass。
- 可视化:ECharts、D3、@antv/g6、markdown-it、highlight.js、nprogress。
- 代码规范:ESLint + eslint-plugin-vue + Prettier(可选),统一
.editorconfig。
- MySQL、Redis、对象存储(本地/Tencent COS 等)、Nginx、Docker、GitHub Actions(可扩展)。
- Prometheus + Grafana + Alertmanager、日志采集(logs/)、监控告警配置。
| 模块 | 说明 | 关键功能 |
|---|---|---|
| xiaou-application | 主 API 工程 | 聚合所有业务模块、统一配置、网关、鉴权与监控出口 |
| xiaou-common | 通用基础库 | 自定义注解、AOP、统一返回体、异常、工具集 |
| xiaou-system | 系统管理 | 组织、角色、菜单、字典、参数、审计日志 |
| xiaou-user / xiaou-user-api | 用户中心 | 用户注册、认证、资料、登录态 API 隔离 |
| xiaou-interview | 面试题库 | 题目、试卷、刷题记录、统计、推荐 |
| xiaou-community | 社区/岗位 | 帖子、岗位、任务调度、运营后台 |
| xiaou-moment | 动态广场 | 动态发布、点赞、收藏、推荐算法、审核 |
| xiaou-blog | 博客 | Markdown 编辑、标签、归档、评论 |
| xiaou-codepen | 代码工坊 | 代码模板、在线运行、作品管理、Fork/收藏 |
| xiaou-resume | 在线简历 | 模板库、模块化填写、版本历史、多格式导出 |
| xiaou-filestorage | 文件存储 | 本地/云存储、上传、分片、权限与统计 |
| xiaou-notification | 消息中心 | 系统通知、私信、消息状态、推送 |
| xiaou-chat | IM 聊天 | WebSocket 实时通信、撤回、禁言、房间 |
| xiaou-sensitive / xiaou-sensitive-api | 敏感词 | 词库维护、命中记录、外部 API |
| xiaou-knowledge | 知识图谱 | 节点管理、图谱渲染、知识库 |
| xiaou-version | 版本档案 | 版本时间线、发布记录、变更说明 |
| xiaou-moyu | 摸鱼面板 | 日常任务、健康打卡、工作台 |
| xiaou-points | 积分体系 | 积分规则、账户、排行榜、明细 |
| xiaou-plan | 计划打卡 | 个人计划、每日打卡、连续统计、提醒通知 |
| xiaou-mock-interview | AI模拟面试 | 多方向多难度面试、AI出题/评价、追问、报告统计 |
| xiaou-monitor | SQL/监控 | SQL 采集、慢查询、日志审计、观测面板 |
| 模块 | 说明 | 启动命令 |
|---|---|---|
| vue3-admin-front | 管理后台,Element Plus + Pinia | npm install && npm run dev(端口 5173) |
| vue3-user-front | 用户端,组件与依赖同后台 | npm install && npm run dev(端口 5174) |
Code-Nest/
├── docker/ # 后端 Dockerfile、compose 示例
├── docs/
│ ├── PRD/ # 各业务模块 PRD/需求文档
│ └── Prometheus运维部署指南.md
├── logs/ # 运行期日志(开发环境可忽略)
├── sql/
│ ├── struct.sql # 数据库结构
│ ├── data.sql # 初始化数据
│ ├── v1.6.0/ # 增量脚本(CodePen 等)
│ └── v1.7.0/ # 增量脚本(学习追踪等)
├── vue3-admin-front/ # 管理端前端
├── vue3-user-front/ # 用户端前端
├── xiaou-common/ # 通用模块
├── xiaou-application/ # Spring Boot 聚合工程(启动入口)
├── xiaou-*/ # 业务子模块(interview、blog、resume…)
├── pom.xml # 多模块 Maven 配置
└── README.md
- Java 17+
- Node.js 18+(Vite 5 推荐)
- Maven 3.8+
- MySQL 8.0+
- Redis 6.0+
- 可选:Docker、Nginx、Prometheus/Grafana
git clone https://github.com/your-username/Code-Nest.git
cd Code-Nestmysql -u root -p
CREATE DATABASE code_nest DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE code_nest;
SOURCE sql/struct.sql;
SOURCE sql/data.sql;
-- 如需最新功能,请额外执行 sql/v1.7.0/*.sql编辑 xiaou-application/src/main/resources/application-dev.yml(或新建 application-local.yml):
spring:
datasource:
url: jdbc:mysql://localhost:3306/code_nest?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: your_mysql_user
password: your_mysql_password
data:
redis:
redisson:
config: |
singleServerConfig:
address: "redis://127.0.0.1:6379"
database: 3
sa-token:
token-name: Authorization
token-prefix: Bearer
timeout: 604800
activity-timeout: 1800
xiaou:
monitor:
enabled: true
slow-sql-threshold: 1000
async-save: true
retention-days: 30按需补充短信/OSS/COS 等密钥。
# 一键编译
mvn clean package -DskipTests
# 开发模式启动(默认使用 dev 配置)
mvn -pl xiaou-application -am spring-boot:run
# 或直接运行打包后的 jar
java -jar xiaou-application/target/xiaou-application-1.7.0.jar --spring.profiles.active=prod- API 根地址:
http://localhost:9999/api - Swagger / Knife4j:
http://localhost:9999/api/swagger-ui.html
cd vue3-admin-front
npm install
npm run dev访问 http://localhost:5173
cd vue3-user-front
npm install
npm run dev访问 http://localhost:5174
| 端 | 账号 | 密码 | 备注 |
|---|---|---|---|
| 管理后台 | admin |
123456 |
可在用户管理中修改 |
| 用户端 | 已内置演示数据 | sql/data.sql 中提供 |
也可自行注册 |
# 后端
mvn clean package -DskipTests
# 前端
cd vue3-admin-front && npm run build
cd vue3-user-front && npm run build静态资源输出至 dist/,可由 Nginx 或对象存储托管。
sa-token:
token-name: Authorization
token-style: uuid
is-share: false
is-concurrent: true
token-prefix: Bearer
alone-redis:
host: 127.0.0.1
port: 6379
database: 4spring:
data:
redis:
redisson:
config: |
singleServerConfig:
address: "redis://127.0.0.1:6379"
database: 3
password: your_redis_passwordxiaou:
monitor:
enabled: true
slow-sql-threshold: 800
async-save: true
retention-days: 30
management:
endpoints:
web:
exposure:
include: health,metrics,prometheus- Prometheus 抓取地址:
http://<host>:9999/api/actuator/prometheus - Grafana Dashboard/报警配置参考
docs/Prometheus运维部署指南.md
- 默认输出到
logs/目录,按日期分片。 - Sa-Token、SQL、操作日志支持异步保存,可在
application-*.yml中自定义。
# 构建镜像
docker build -t code-nest:1.7.0 -f docker/Dockerfile .
# 运行容器
docker run -d \
--name code-nest \
-p 9999:9999 \
-e SPRING_PROFILES_ACTIVE=prod \
--env-file docker/env/example.env \
code-nest:1.7.0可与 MySQL/Redis 容器组合,或使用 docker-compose.
server {
listen 80;
server_name your-domain.com;
# 管理端静态资源
location /admin/ {
root /opt/code-nest/vue3-admin-front/dist;
try_files $uri $uri/ /admin/index.html;
}
# 用户端静态资源
location / {
root /opt/code-nest/vue3-user-front/dist;
try_files $uri $uri/ /index.html;
}
# API 转发
location /api/ {
proxy_pass http://127.0.0.1:9999/api/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}docs/PRD/:覆盖简历、代码工坊、IM、积分、抽奖、知识图谱、敏感词、SQL 优化等 20+ 模块的产品文档。docs/Prometheus运维部署指南.md:Prometheus + Grafana 安装、指标、告警策略。sql/struct.sql&sql/data.sql:完整结构与示例数据,sql/v1.7.0/为最新增量脚本。pom.xml:多模块管理、版本统一、Flatten 插件配置。docker/:容器化部署示例。
仅列出最近版本,更多历史可查看 git log。
- 🌟 掌握度标记:支持不会/模糊/熟悉/已掌握四级评估,集成到做题模式。
- 📈 GitHub风格学习热力图:可视化展示全年学习轨迹,集成到面试题库首页。
- 🔔 艾宾浩斯遗忘曲线复习提醒:基于掌握度智能计算最佳复习时间。
- 📊 复习中心:新增
/interview/review页面,统一管理待复习题目(逾期/今日/本周)。 - 🔥 学习统计:连续学习天数、最长连续、本月学习等数据展示。
- 💬 IM消息回复:支持引用回复历史消息,优化在线用户管理。
- 🗄️ 数据库:新增
interview_mastery_record、interview_daily_stats、interview_mastery_history表。
- 🆕 AI模拟面试模块:
xiaou-mock-interview新增完整的AI模拟面试功能,支持多方向、多难度、多风格的模拟面试体验。 - 🤖 双模式出题:支持本地题库模式(从Interview题库抽题)和 AI出题模式(调用Coze工作流智能出题)。
- 📝 实时AI评价:用户回答后地获取AI评分、回答优点、改进建议,支持多种面试官风格(严厲/中性/温和)。
- 🔄 用户主动追问:用户可在回答后主动请求追问,深入考察知识点掌握情况,每题最多追问2次。
- 📊 面试报告与统计:面试结束后生成详细报告,包含AI总结、建议、各题得分明细;支持历史记录查询与用户统计面板。
- 🎯 题库选择:本地模式下用户可手动选择题库集进行定向训练。
- 🗂️ 前端页面:新增面试入口页、配置页、面试进行页、报告页、历史记录页,全流程用户体验。
- 🗄️ 数据库表:新增mock_interview_direction、mock_interview_session、mock_interview_qa、mock_interview_user_stats等表。
- 🆕 计划打卡模块:
xiaou-plan支持个人计划创建、每日打卡、连续打卡统计、站内提醒通知、打卡记录查询等功能。 - 🎨 首页重新设计:采用现代卡片式布局,新增 Hero 区域、核心功能展示、快速入口网格、特色亮点区域,提升视觉体验。
- 📱 面试详情页优化:优化移动端适配与样式细节,提升手机端刷题体验。
- 🗄️ 数据库脚本:
sql/v1.6.1新增计划打卡相关表结构(user_plan、plan_checkin_record、plan_remind_task)。 - 🔔 定时任务:计划模块集成提醒调度器,支持每日任务生成与站内通知推送。
- 🔧 导航优化:首页快速入口新增「计划打卡」,顶部导航「学习」菜单新增入口。
- 🆕 在线简历模块:
xiaou-resume支持模板市场、模块化数据、版本快照、拖拽编辑与 PDF/Word/HTML 导出。 - 🆕 代码工坊(CodePen):支持前端/后端/SQL 演示、作品发布、Fork/收藏/点赞、后台运营、商业化配置。
- 🆕 可观测中心:Prometheus + Grafana 监控整合 Micrometer/Actuator 指标、SQL 观测、告警与文档。
- 🆕 刷题洞察:题库模块新增统计面板、算法难度画像、错题同步订阅。
- 🗄️ 数据库脚本:
sql/v1.6.0目录补充 CodePen/简历相关表结构。 - 🔧 导出 & 存储:简历导出自动上传至
xiaou-filestorage,新增 COS/MinIO 适配。 - 🔧 内容体验:社区/简历模板支持用户端/后台协同维护,README 与版本说明全面升级。
- 🆕 博客系统:Markdown 编辑、分类/标签、草稿箱、全文检索与评论互动。
- 🆕 抽奖中心:活动配置、奖品管理、概率算法、中奖记录及后台运营。
- 🆕 标签体系统一:社区/博客/动态共用标签维度,提供榜单与统计。
- ✨ 动态功能增强:动态收藏夹、推荐算法(点赞/评论/权重)、违规拦截、可视化报表。
- 🛡️ 敏感词系统:词库批量导入、命中记录、任务调度、接入 IM/动态/博客。
- 📊 监控重构:Prometheus 指标拆分、JVM/HTTP/DB 监控、告警模板。
- 🔐 认证优化:Token 生命周期管理、登录流程、统一异常语义。
- 📦 数据库更新:新增博客、抽奖、标签、动态收藏等表结构。
- 🔐 Sa-Token 全面接管:JWT 全量迁移至 Sa-Token,双端账号体系、并发控制、路由鉴权、WebSocket 鉴权。
- 💬 IM 聊天模块:WebSocket 实时通信,文本/图片/系统消息、撤回、禁言、封禁、后台管理。
- ⭐ 积分系统:积分规则、明细、排行榜、任务中心。
- 🧱 架构优化:全局异常处理增强、模块解耦、WebSocket 鉴权同步、敏感词中台。
- 📦 数据库:新增聊天、积分相关表。
- 🤖 Coze AI 集成:统一 AI 能力封装,支持同步/异步调用、限流、异常治理。
- 🎯 Bug 趣味墙:Bug 题库、抓取、分享、历史记录与运营活动。
- 🧘 摸鱼工作台:每日任务、时薪统计、排行榜、提醒。
- 🧰 效率工具集:常用开发工具聚合、清晰的路径引导。
- 🎨 用户体验:前台 UI 重构、响应式布局、主题优化。
- 🧠 知识图谱强化:节点内容升级、图谱编辑、后台维护流程。
- 📦 模块化:
xiaou-moyu、xiaou-version等独立为可复用模块。
- 🛠️ 在线工具/简历 2.0:多格式导出、版本管理、实时协作。
- 🔔 通知中心:系统消息、站内信、订阅提醒。
- 📁 文件存储:本地/云存储适配、权限控制、统计。
- ⚙️ 系统优化:SQL 规范化、结构调整、性能提升。
- ✨ 功能增强:招聘/内推模块、问答、用户中心、数据结构升级。
- 🧱 架构优化:模块抽象、代码重构、性能调优。
- 🎉 初始发布,包含后台管理与基础题库/内容功能。
- 维护者:xiaou
- 邮箱:[email protected]
- GitHub:https://github.com/xiaou61/Code-Nest
本项目采用 MIT License。欢迎 Star / Fork,一起共建生态。