# Nexus **Repository Path**: alan223/nexus ## Basic Information - **Project Name**: Nexus - **Description**: Nexus for everything - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-07-30 - **Last Updated**: 2025-09-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### Nexus-社区 **项目描述:** 基于Go语言开发的社区论坛后端系统,支持用户注册登录、帖子发布管理、评论互动等核心功能 **技术栈:** - **后端框架:** Gin Web框架 - **数据库:** MySQL + GORM ORM框架 - **缓存:** Redis (用户会话、验证码、热门帖子排行、浏览量统计) - **认证授权:** JWT Token认证 - **文件存储:** 七牛云OSS对象存储 - **邮件服务:** SMTP邮件发送服务 - **定时任务:** Cron定时任务调度 - **配置管理:** Viper配置文件管理 - **日志系统:** Zap高性能日志框架 - **热重载:** Air实时编译工具 - **密码加密:** bcrypt密码哈希 **核心功能实现:** #### 1. 用户认证与授权系统 - **邮箱验证注册:** 实现邮箱验证码注册机制,防止恶意注册 - **多方式登录:** 支持邮箱/用户名登录,提升用户体验 - **密码重置:** 基于邮箱验证码的安全密码重置流程 - **JWT认证:** 无状态Token认证,支持用户会话管理 - **中间件鉴权:** 实现JWT中间件进行路由级别的权限控制 #### 2. 内容管理系统 - **帖子CRUD:** 完整的帖子创建、读取、更新、删除功能 - **Markdown支持:** 帖子内容支持Markdown格式 - **标签系统:** 多对多关联的标签分类功能 - **评论系统:** 支持多级评论和回复功能 - **互动功能:** 点赞、收藏功能,支持状态切换 #### 3. 高性能缓存架构 - **Redis缓存策略:** - 验证码缓存(10分钟过期) - 发送冷却时间控制(防止频繁发送) - 帖子浏览量实时统计 - 热门帖子排行榜(ZSET数据结构) - **缓存同步:** 定时任务将Redis数据同步到MySQL,保证数据一致性 #### 4. 文件上传与存储 - **头像上传:** 集成七牛云OSS,支持用户头像上传 - **文件类型验证:** 严格的文件格式和大小限制 - **UUID文件命名:** 防止文件名冲突 #### 5. 系统架构设计 - **分层架构:** Controller-Service-DAO三层架构,职责分离 - **统一错误处理:** 自定义错误码和错误处理中间件 - **统一响应格式:** 标准化API响应结构 - **参数验证:** 使用Gin的数据绑定和验证功能 - **CORS支持:** 跨域请求处理 #### 6. 数据库设计 - **用户表:** 完整的用户信息管理,包含隐私设置 - **帖子表:** 支持内容、统计数据、关联关系 - **标签表:** 多对多关联设计 - **评论表:** 支持层级评论结构 - **关联表:** 用户点赞、收藏关系表 #### 7. 性能优化 - **异步处理:** 浏览量统计和热门度计算采用异步处理 - **批量操作:** 定时任务批量同步缓存数据 - **连接池:** Redis连接池优化 - **索引优化:** 数据库索引设计 #### 8. 运维与监控 - **定时任务:** 每2分钟同步Redis浏览量数据到MySQL - **日志记录:** 完整的请求日志和错误日志 - **配置管理:** 环境配置分离,支持热重载 - **优雅关闭:** 服务优雅停机处理 **项目亮点:** 1. **高并发处理:** Redis缓存 + 异步处理,支持高并发访问 2. **数据一致性:** 缓存与数据库的最终一致性保证 3. **安全性:** JWT认证 + 密码加密 + 参数验证 4. **可扩展性:** 模块化设计,易于功能扩展 5. **代码质量:** 清晰的项目结构,完善的错误处理 6. **依赖注入:** 基于Google Wire的完整依赖注入架构 ## 版本更新记录 ### v2.0.3 - AI内容审核与用户禁言系统 (2025-09-27) - **🤖 AI内容审核:** 集成OpenAI API实现智能内容审核,自动检测违规内容 - **🚫 用户禁言机制:** 基于违规次数的渐进式惩罚:首次警告、1天、7天、30天封禁 - **📊 违规记录:** 完整的违规记录系统,包括违规次数、封禁时间和原因 - **⚡ 自动解封:** 封禁到期后自动解封,无需人工干预 - **🔍 实时检测:** 发布前自动进行内容审核,实时反馈审核结果 ### v2.0.2 - Zap日志系统集成 (2025-09-05) - **📝 Zap日志框架:** 集成高性能Zap日志系统,提供结构化日志输出 - **🔄 日志中间件:** 实现基于Zap的HTTP请求日志记录 - **💉 依赖注入:** 日志系统完全集成到Wire依赖注入架构 - **📊 日志分类:** 支持不同级别日志和日志文件切割 ### v2.0.1 - Casbin权限管理系统集成 (2025-09-4) - **🔐 Casbin集成:** 引入Casbin RBAC权限管理框架,实现细粒度权限控制 - **🛡️ 权限中间件:** 提供RequirePermission、RequireAdmin、RequireRole等中间件 - **👤 角色管理:** 支持admin和user角色,实现资源级别的权限控制 - **🔄 权限持久化:** 权限数据存储在数据库中,支持动态管理 ### v2.0.0 - 依赖注入架构重构 (2025-08-22) - **🔧 Wire依赖注入:** 引入Google Wire框架,实现完整的依赖注入架构 - **🏗️ 架构重构:** 将所有层级从全局变量改为依赖注入模式 - **⚙️ 配置管理:** 配置对象通过依赖注入传递,移除全局配置变量 - **🔒 中间件改造:** JWT等中间件完全基于依赖注入,提升可测试性和可维护性 ---