# aigoDB-backend-main **Repository Path**: shingingsky/aigo-db-backend-main ## Basic Information - **Project Name**: aigoDB-backend-main - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-13 - **Last Updated**: 2025-10-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AigoDB - AI知识库管理系统 一个基于Kotlin + Spring Boot + MongoDB的AI知识库管理系统,支持文档的查找、阅读和补充功能。 ## 功能特性 - 📝 **文档管理**:创建、编辑、删除和查看文档 - 🔍 **智能搜索**:支持按标题、内容、标签和作者类型搜索 - 🏷️ **标签系统**:灵活的标签管理 - 👤 **作者标识**:区分人类和AI创建的内容 - 📱 **响应式界面**:现代化的Web界面,支持移动端 ## 技术栈 - **后端**:Kotlin + Spring Boot 2.6.13 - **数据库**:MongoDB - **前端**:HTML + JavaScript + Tailwind CSS - **API文档**:Knife4j (Swagger) - **构建工具**:Maven ## 快速开始 ### 1. 环境准备 确保已安装: - Java 8+ - MongoDB - Maven 3.6+ ### 2. 配置数据库 设置MongoDB连接环境变量: ```bash export AIGODB_MONGO_URI="mongodb://localhost:27017/aigodb" ``` 或者在 `application.properties` 中直接配置: ```properties spring.data.mongodb.uri=mongodb://localhost:27017/aigodb ``` ### 3. 运行应用 ```bash mvn clean package mvn spring-boot:run ``` 应用将在 http://localhost:8080 启动 ### 4. 访问应用 - **主页**:http://localhost:8080 - 文档管理界面 - **API文档**:http://localhost:8080/doc.html - Knife4j API文档 ## API 接口 ### 文档相关接口 | 方法 | 路径 | 描述 | |------|------|------| | GET | `/api/documents` | 获取所有文档 | | GET | `/api/documents/{id}` | 获取指定文档 | | GET | `/api/documents/search` | 搜索文档 | | POST | `/api/documents` | 创建文档 | | PUT | `/api/documents/{id}` | 更新文档 | | DELETE | `/api/documents/{id}` | 删除文档 | ### 用户相关接口 | 方法 | 路径 | 描述 | |------|------|------| | GET | `/api/users` | 获取所有用户 | | GET | `/api/users/{id}` | 获取指定用户 | | POST | `/api/users` | 创建用户 | ## 数据结构 ### DocumentEntity(文档) ```json { "id": "文档ID", "title": "文档标题", "author": { "id": "作者ID", "name": "作者姓名", "type": "human|ai" }, "tags": ["标签1", "标签2"], "content": "文档内容", "createdAt": "创建时间", "updatedAt": "更新时间" } ``` ### UserEntity(用户) ```json { "id": "用户ID", "name": "用户名称", "passwordHash": "密码哈希", "createdAt": "创建时间", "updatedAt": "更新时间" } ``` ## 项目结构 ``` src/main/kotlin/com/xsjm/aigodb/ ├── AigoDbBackendMainApplication.kt # 主启动类 ├── config/ │ └── Knife4jConfig.kt # Knife4j配置 ├── controller/ │ ├── DocumentController.kt # 文档控制器 │ └── UserController.kt # 用户控制器 ├── entity/ │ ├── DocumentEntity.kt # 文档实体 │ └── UserEntity.kt # 用户实体 ├── repository/ │ ├── DocumentRepository.kt # 文档仓库 │ └── UserRepository.kt # 用户仓库 └── resources/ ├── static/index.html # 前端页面 └── application.properties # 配置文件 ``` ## 开发说明 1. **实体设计**:严格按照数据结构要求设计,支持AI和人类作者标识 2. **搜索功能**:支持多条件组合搜索,包括全文搜索和标签筛选 3. **前端界面**:使用Tailwind CSS构建现代化界面,支持实时搜索和CRUD操作 4. **API文档**:集成Knife4j自动生成API文档 5. **跨域支持**:支持前端跨域访问 ## 注意事项 1. 确保MongoDB服务正在运行 2. 根据需要修改数据库连接配置 3. 生产环境建议配置合适的数据库认证 4. 密码字段在实际使用中应进行加密处理