Thanks to visit codestin.com
Credit goes to github.com

Skip to content

xiaou61/U-space

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Code Nest

Version Java Spring Boot Vue License

📖 项目简介

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

🚀 Quick Start

环境要求

  • Java 17+
  • Node.js 18+(Vite 5 推荐)
  • Maven 3.8+
  • MySQL 8.0+
  • Redis 6.0+
  • 可选:Docker、Nginx、Prometheus/Grafana

1. 克隆项目

git clone https://github.com/your-username/Code-Nest.git
cd Code-Nest

2. 初始化数据库

mysql -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

3. 配置文件

编辑 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 等密钥。

4. 启动后端

# 一键编译
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

5. 启动前端

管理后台

cd vue3-admin-front
npm install
npm run dev

访问 http://localhost:5173

用户端

cd vue3-user-front
npm install
npm run dev

访问 http://localhost:5174

6. 常用账号

账号 密码 备注
管理后台 admin 123456 可在用户管理中修改
用户端 已内置演示数据 sql/data.sql 中提供 也可自行注册

7. 构建与部署产物

# 后端
mvn clean package -DskipTests

# 前端
cd vue3-admin-front && npm run build
cd vue3-user-front && npm run build

静态资源输出至 dist/,可由 Nginx 或对象存储托管。

🔧 配置与运维

Sa-Token 关键配置

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: 4

Redis / Redisson

spring:
  data:
    redis:
      redisson:
        config: |
          singleServerConfig:
            address: "redis://127.0.0.1:6379"
            database: 3
            password: your_redis_password

SQL 与监控

xiaou:
  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

# 构建镜像
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.

Nginx

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

v1.7.0 📚 学习效果追踪

  • 🌟 掌握度标记:支持不会/模糊/熟悉/已掌握四级评估,集成到做题模式。
  • 📈 GitHub风格学习热力图:可视化展示全年学习轨迹,集成到面试题库首页。
  • 🔔 艾宾浩斯遗忘曲线复习提醒:基于掌握度智能计算最佳复习时间。
  • 📊 复习中心:新增 /interview/review 页面,统一管理待复习题目(逾期/今日/本周)。
  • 🔥 学习统计:连续学习天数、最长连续、本月学习等数据展示。
  • 💬 IM消息回复:支持引用回复历史消息,优化在线用户管理。
  • 🗄️ 数据库:新增 interview_mastery_recordinterview_daily_statsinterview_mastery_history 表。

v1.6.3 🌟 AI模拟面试

  • 🆕 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等表。

v1.6.1 ✨

  • 🆕 计划打卡模块xiaou-plan 支持个人计划创建、每日打卡、连续打卡统计、站内提醒通知、打卡记录查询等功能。
  • 🎨 首页重新设计:采用现代卡片式布局,新增 Hero 区域、核心功能展示、快速入口网格、特色亮点区域,提升视觉体验。
  • 📱 面试详情页优化:优化移动端适配与样式细节,提升手机端刷题体验。
  • 🗄️ 数据库脚本sql/v1.6.1 新增计划打卡相关表结构(user_plan、plan_checkin_record、plan_remind_task)。
  • 🔔 定时任务:计划模块集成提醒调度器,支持每日任务生成与站内通知推送。
  • 🔧 导航优化:首页快速入口新增「计划打卡」,顶部导航「学习」菜单新增入口。

v1.6.0 🚀

  • 🆕 在线简历模块xiaou-resume 支持模板市场、模块化数据、版本快照、拖拽编辑与 PDF/Word/HTML 导出。
  • 🆕 代码工坊(CodePen):支持前端/后端/SQL 演示、作品发布、Fork/收藏/点赞、后台运营、商业化配置。
  • 🆕 可观测中心:Prometheus + Grafana 监控整合 Micrometer/Actuator 指标、SQL 观测、告警与文档。
  • 🆕 刷题洞察:题库模块新增统计面板、算法难度画像、错题同步订阅。
  • 🗄️ 数据库脚本sql/v1.6.0 目录补充 CodePen/简历相关表结构。
  • 🔧 导出 & 存储:简历导出自动上传至 xiaou-filestorage,新增 COS/MinIO 适配。
  • 🔧 内容体验:社区/简历模板支持用户端/后台协同维护,README 与版本说明全面升级。

v1.5.0 🎉

  • 🆕 博客系统:Markdown 编辑、分类/标签、草稿箱、全文检索与评论互动。
  • 🆕 抽奖中心:活动配置、奖品管理、概率算法、中奖记录及后台运营。
  • 🆕 标签体系统一:社区/博客/动态共用标签维度,提供榜单与统计。
  • 动态功能增强:动态收藏夹、推荐算法(点赞/评论/权重)、违规拦截、可视化报表。
  • 🛡️ 敏感词系统:词库批量导入、命中记录、任务调度、接入 IM/动态/博客。
  • 📊 监控重构:Prometheus 指标拆分、JVM/HTTP/DB 监控、告警模板。
  • 🔐 认证优化:Token 生命周期管理、登录流程、统一异常语义。
  • 📦 数据库更新:新增博客、抽奖、标签、动态收藏等表结构。

v1.4.0 🚀

  • 🔐 Sa-Token 全面接管:JWT 全量迁移至 Sa-Token,双端账号体系、并发控制、路由鉴权、WebSocket 鉴权。
  • 💬 IM 聊天模块:WebSocket 实时通信,文本/图片/系统消息、撤回、禁言、封禁、后台管理。
  • 积分系统:积分规则、明细、排行榜、任务中心。
  • 🧱 架构优化:全局异常处理增强、模块解耦、WebSocket 鉴权同步、敏感词中台。
  • 📦 数据库:新增聊天、积分相关表。

v1.3.0 🔥

  • 🤖 Coze AI 集成:统一 AI 能力封装,支持同步/异步调用、限流、异常治理。
  • 🎯 Bug 趣味墙:Bug 题库、抓取、分享、历史记录与运营活动。
  • 🧘 摸鱼工作台:每日任务、时薪统计、排行榜、提醒。
  • 🧰 效率工具集:常用开发工具聚合、清晰的路径引导。
  • 🎨 用户体验:前台 UI 重构、响应式布局、主题优化。
  • 🧠 知识图谱强化:节点内容升级、图谱编辑、后台维护流程。
  • 📦 模块化xiaou-moyuxiaou-version 等独立为可复用模块。

v1.2.x

  • 🛠️ 在线工具/简历 2.0:多格式导出、版本管理、实时协作。
  • 🔔 通知中心:系统消息、站内信、订阅提醒。
  • 📁 文件存储:本地/云存储适配、权限控制、统计。
  • ⚙️ 系统优化:SQL 规范化、结构调整、性能提升。

v1.1.x

  • 功能增强:招聘/内推模块、问答、用户中心、数据结构升级。
  • 🧱 架构优化:模块抽象、代码重构、性能调优。

v1.0.0

  • 🎉 初始发布,包含后台管理与基础题库/内容功能。

📞 联系方式

📜 开源协议

本项目采用 MIT License。欢迎 Star / Fork,一起共建生态。

🖼️ 功能截图

管理员端

image-20251001192022408 image-20251001192046724 image-20251001192101335 image-20251001192116123 image-20251001192148551

用户端

image-20251001192200120 image-20251001192206833 image-20251001192254045 image-20251001192300510 image-20251001192306591 image-20251001192312505 image-20251001192320125 image-20251001192329371

About

springboot 项目 Code-Nest 程序员一体化社区 学习项目

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published