# Team knowledge base **Repository Path**: del-space/team-knowledge-base ## Basic Information - **Project Name**: Team knowledge base - **Description**: 专注于后端知识库管理的开源团队,提供高效、灵活的知识存储与查询解决方案,支持多语言和跨平台应用。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-14 - **Last Updated**: 2025-11-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 团队知识库系统 Team Knowledge Base System ## 项目简介 这是一个基于Spring Boot的团队知识库管理系统,提供文档管理、用户交互、权限控制等完整功能模块。适用于团队内部知识沉淀与共享场景。 ## 主要功能 - 用户认证与权限管理 - 文档全生命周期管理(创建/编辑/删除) - 文档评论与点赞系统 - 实时聊天与群组功能 - 知识分类与标签体系 - 消息通知系统 - 收藏与关注机制 ## 技术架构 - 后端:Spring Boot + MyBatis Plus - 数据库:MySQL(通过实体类映射可见) - 工具类: - BCrypt密码加密 - Snowflake分布式ID生成 - 异常处理:全局异常捕获与统一返回 - 数据结构:使用VO/DTO模式分离数据 ## 核心模块 ``` ├── controller # 控制器层(API接口) ├── service # 业务接口层 │ └── impl # 业务实现层 ├── mapper # 数据访问层 ├── entity # 数据库实体类 ├── common # 公共组件(异常/结果封装) ├── utils # 工具类 └── vo # 视图对象 ``` ## 特色功能 1. **文档编辑锁**:防止多人同时编辑冲突 2. **细粒度权限控制**:基于文档级别的权限分配 3. **实时消息系统**:包含聊天组与消息通知 4. **关系管理**:好友关系与关注系统 5. **数据软删除**:所有实体支持逻辑删除 ## 开发规范 - 所有实体类使用Lombok的`@Data`注解 - 使用MyBatis Plus的`@TableName`进行表映射 - 异常处理采用`@RestControllerAdvice` - 使用`@Getter`保持代码简洁 - 所有日期字段使用`Date`类型 - 所有实体实现`Serializable`接口 ## 数据模型概览 - 用户(User)与用户相关(好友、收藏、关注) - 文档(Document)与文档扩展(评论、点赞、标签、权限) - 聊天(消息、群组、群成员) - 分类(Category)与标签(Tag) - 系统级(通知、ID生成) ## 启动方式 1. 配置MySQL数据库连接 2. 修改`application.yml`中的机器ID配置 3. 执行`TeamKnowledgeBaseApplication.java`启动类 ## 项目状态 当前为完整的基础功能实现,可作为知识库系统的开发模板或直接使用。