# miracle-recorder **Repository Path**: yunianvh/miracle-recorder ## Basic Information - **Project Name**: miracle-recorder - **Description**: 奇迹记录仪 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-29 - **Last Updated**: 2025-08-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 奇迹记录仪 (Miracle Recorder) 一个现代化的跨平台移动应用,用于记录和分享各种民间科学或非科学活动,包括医疗奇迹、民间技术、非科学活动和传统工艺。 ## 🚀 功能特性 ### 核心功能 - **直播系统**: 基于RTMP和WebRTC的实时直播功能 - **话题驱动**: 以话题为核心的内容组织和讨论 - **多模态交互**: 支持文字、图片、视频、文件、表情等多种交互方式 - **AI智能总结**: 自动生成内容摘要和解决方案 - **跨平台支持**: 使用Flutter实现一套代码支持多端设备 - **一键部署**: 基于Docker Compose的轻量化部署方案 ### 技术特性 - **后端**: Go 1.21+ 高性能后端服务 - **前端**: Flutter 3.0+ 跨平台移动应用 - **数据库**: PostgreSQL + Redis 高性能数据存储 - **实时通信**: WebSocket + WebRTC 实时音视频通话 - **容器化**: Docker + Docker Compose 一键部署 - **安全性**: JWT认证、内容安全检查、数据加密 ## 📱 移动端功能 ### 用户系统 - 用户注册/登录 - 个人资料管理 - 关注/粉丝系统 - 通知管理 ### 话题系统 - 创建和参与话题讨论 - 话题分类和标签 - AI智能内容总结 - 可信度评分系统 ### 直播功能 - 实时直播推流 - 直播录制和回放 - 直播间聊天和互动 - 多人连麦功能 ### 多模态交互 - 文字聊天和评论 - 图片分享和评论 - 视频分享和播放 - 文件上传和分享 - 表情和反应 ### AI功能 - 智能内容摘要 - 话题解决方案生成 - 内容可信度分析 - 个性化推荐 ## 🔧 技术架构 ### 后端架构 ``` ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ API Gateway │ │ Auth Service │ │ User Service │ │ (Gin) │ │ (JWT) │ │ (PostgreSQL) │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ └───────────────────────┼───────────────────────┘ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ Livestream │ │ Topic Service │ │ AI Service │ │ (RTMP/WebRTC) │ │ (PostgreSQL) │ │ (External) │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ └───────────────────────┼───────────────────────┘ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ WebSocket │ │ File Service │ │ Cache Service │ │ (Gorilla) │ │ (MinIO) │ │ (Redis) │ └─────────────────┘ └─────────────────┘ └─────────────────┘ ``` ### 前端架构 ``` ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ App Layer │ │ BLoC Layer │ │ Service Layer │ │ (Flutter) │ │ (State Mgmt) │ │ (API/Storage) │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ └───────────────────────┼───────────────────────┘ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ UI Widgets │ │ Models │ │ Themes │ │ (Material3) │ │ (Data) │ │ (Dark/Light) │ └─────────────────┘ └─────────────────┘ └─────────────────┘ ``` ## 🛠️ 快速开始 ### 环境要求 - Docker 和 Docker Compose - Git - 至少 4GB 内存 - 至少 10GB 磁盘空间 ### 一键部署 ```bash # 克隆项目 git clone cd miracle-recorder # 赋予执行权限 chmod +x deploy.sh # 执行部署脚本 ./deploy.sh ``` ### 手动部署 ```bash # 1. 构建后端服务 docker-compose build # 2. 启动服务 docker-compose up -d # 3. 初始化数据库 docker-compose exec postgres psql -U miracle_user -d miracle_recorder -f /docker-entrypoint-initdb.d/001_initial_schema.sql # 4. 检查服务状态 docker-compose ps ``` ### 访问应用 - **Web界面**: http://localhost - **API接口**: http://localhost/api - **健康检查**: http://localhost/health ## 📱 移动端开发 ### 环境配置 ```bash # 安装Flutter flutter --version # 获取依赖 cd flutter flutter pub get # 运行开发服务器 flutter run ``` ### 生成代码 ```bash # 生成模型序列化代码 flutter pub run build_runner build # 监听文件变化自动生成 flutter pub run build_runner watch ``` ## 🔗 API 文档 ### 认证接口 ```http POST /api/v1/auth/register # 用户注册 POST /api/v1/auth/login # 用户登录 POST /api/v1/auth/refresh # 刷新Token ``` ### 话题接口 ```http GET /api/v1/topics # 获取话题列表 POST /api/v1/topics # 创建话题 GET /api/v1/topics/:id # 获取话题详情 PUT /api/v1/topics/:id # 更新话题 DELETE /api/v1/topics/:id # 删除话题 ``` ### 直播接口 ```http GET /api/v1/livestreams # 获取直播列表 POST /api/v1/livestreams # 创建直播 GET /api/v1/livestreams/:id # 获取直播详情 POST /api/v1/livestreams/:id/start # 开始直播 POST /api/v1/livestreams/:id/stop # 停止直播 ``` ### 文件上传 ```http POST /api/v1/upload # 文件上传 GET /api/v1/upload/:filename # 文件下载 ``` ### AI服务 ```http POST /api/v1/ai/summarize # 内容总结 POST /api/v1/ai/generate-solution # 生成解决方案 ``` ## 🗄️ 数据库设计 ### 核心表结构 - **users**: 用户信息表 - **topics**: 话题表(核心业务表) - **livestreams**: 直播表 - **interactions**: 交互记录表 - **media**: 媒体文件表 - **ratings**: 评分表 - **notifications**: 通知表 - **likes**: 点赞表 - **follows**: 关注表 ### 索引优化 - 为查询频繁的字段创建索引 - 复合索引优化复杂查询 - 全文搜索索引支持 ## 🔧 配置说明 ### 环境变量 ```bash # 数据库配置 DB_HOST=postgres DB_PORT=5432 DB_USER=miracle_user DB_PASSWORD=your_password DB_NAME=miracle_recorder # Redis配置 REDIS_HOST=redis REDIS_PORT=6379 REDIS_PASSWORD=your_password # JWT配置 JWT_SECRET=your_jwt_secret # 服务器配置 SERVER_PORT=8080 SERVER_RTMP_PORT=1935 SERVER_WEBRTC_PORT=8443 ``` ### 配置文件 - `config.yaml`: 应用配置文件 - `docker-compose.yml`: 容器编排配置 - `nginx.conf`: 反向代理配置 ## 🚀 部署选项 ### 生产环境部署 ```bash # 使用环境变量 export DB_PASSWORD=secure_password export JWT_SECRET=secure_jwt_secret # 启动服务 docker-compose -f docker-compose.prod.yml up -d ``` ### 云平台部署 - **AWS**: 使用ECS + RDS + ElastiCache - **阿里云**: 使用容器服务 + RDS + Redis - **腾讯云**: 使用容器服务 + CDB + Redis ### K8s部署 ```bash # 部署到Kubernetes kubectl apply -f k8s/ ``` ## 🔒 安全特性 ### 认证授权 - JWT Token认证 - 密码哈希存储 - 会话管理 ### 数据安全 - 数据库连接加密 - 敏感信息加密存储 - 请求参数验证 ### 内容安全 - 文件类型检查 - 内容大小限制 - 恶意内容过滤 ## 📊 监控和日志 ### 健康检查 - `/health` 接口 - 数据库连接检查 - Redis连接检查 ### 日志管理 - 结构化日志输出 - 日志轮转配置 - 集中式日志收集 ### 性能监控 - Prometheus指标 - 应用性能监控 - 数据库性能监控 ## 🧪 测试 ### 单元测试 ```bash # 运行后端测试 go test ./... # 运行前端测试 flutter test ``` ### 集成测试 ```bash # 运行API测试 go test ./tests/api/ # 运行端到端测试 flutter drive ``` ### 性能测试 ```bash # 负载测试 k6 run scripts/load-test.js ``` ## 🤝 贡献指南 ### 开发流程 1. Fork项目 2. 创建功能分支 3. 提交代码 4. 创建Pull Request 5. 代码审查 6. 合并到主分支 ### 代码规范 - 遵循Go语言编码规范 - 遵循Flutter/Dart编码规范 - 编写单元测试 - 更新文档 ## 📄 许可证 MIT License - 详见 [LICENSE](LICENSE) 文件 ## 🙋‍♂️ 支持 - 📧 Email: support@miracle-recorder.com - 🐛 Issues: GitHub Issues - 📖 文档: 项目Wiki - 💬 社区: 用户交流群 ## 🎯 路线图 ### v1.1 (规划中) - [ ] 视频剪辑功能 - [ ] 直播回放编辑 - [ ] 更多AI功能 - [ ] 国际化支持 ### v1.2 (规划中) - [ ] 小程序版本 - [ ] Web版本 - [ ] 桌面版本 - [ ] 更多社交功能 --- **奇迹记录仪** - 记录每一个奇迹瞬间! 🌟