# Presence Service 文档中心 ## 文档目录 | 文档 | 描述 | 适用读者 | |-----|------|---------| | [ARCHITECTURE.md](./ARCHITECTURE.md) | 系统架构设计 | 架构师、Tech Lead | | [API.md](./API.md) | API 接口规范 | 前端/客户端开发者 | | [DEVELOPMENT.md](./DEVELOPMENT.md) | 开发指南 | 后端开发者 | | [TESTING.md](./TESTING.md) | 测试策略与实践 | 开发者、QA | | [DEPLOYMENT.md](./DEPLOYMENT.md) | 部署运维指南 | DevOps、SRE | --- ## 快速导航 ### 我是开发者 1. 阅读 [ARCHITECTURE.md](./ARCHITECTURE.md) 了解系统架构 2. 阅读 [DEVELOPMENT.md](./DEVELOPMENT.md) 搭建开发环境 3. 阅读 [TESTING.md](./TESTING.md) 了解测试规范 ### 我是前端/客户端开发者 1. 阅读 [API.md](./API.md) 了解接口规范 2. 查看 SDK 示例代码 ### 我是 DevOps/SRE 1. 阅读 [DEPLOYMENT.md](./DEPLOYMENT.md) 了解部署方案 2. 配置监控和告警 --- ## 服务概览 **Presence Service** 是用户在线状态检测和活跃度分析微服务。 ### 核心功能 - 实时在线状态检测 (心跳机制) - 日活统计 (DAU) - 在线人数历史查询 - 分析事件收集 ### 技术栈 - **运行时**: Node.js 20 - **框架**: NestJS 10 - **语言**: TypeScript 5 - **数据库**: PostgreSQL 15 + Redis 7 - **消息队列**: Kafka - **ORM**: Prisma 5 ### 架构模式 - DDD (领域驱动设计) - 六边形架构 (Hexagonal Architecture) - CQRS (命令查询职责分离) --- ## 快速开始 ```bash # 克隆项目 git clone cd backend/services/presence-service # 安装依赖 npm install # 启动基础设施 docker compose -f docker-compose.dev.yml up -d # 初始化数据库 npx prisma db push # 启动服务 npm run start:dev ``` --- ## 测试 ```bash # 全部测试 npm test # 单元测试 npm run test:unit # 集成测试 npm run test:integration # E2E 测试 npm run test:e2e ``` ### 测试统计 | 类型 | 套件数 | 用例数 | |-----|-------|-------| | 单元测试 | 9 | 123 | | 集成测试 | 3 | 22 | | E2E 测试 | 3 | 20 | | **总计** | **15** | **165** | --- ## 目录结构 ``` presence-service/ ├── docs/ # 文档 (当前目录) ├── src/ │ ├── api/ # API 层 (Controllers, DTOs) │ ├── application/ # 应用层 (Commands, Queries) │ ├── domain/ # 领域层 (Entities, Value Objects, Services) │ ├── infrastructure/ # 基础设施层 (Repositories, Redis, Kafka) │ └── shared/ # 共享模块 (Filters, Guards, Utils) ├── test/ │ ├── unit/ # 单元测试 │ ├── integration/ # 集成测试 │ └── e2e/ # E2E 测试 ├── prisma/ # Prisma Schema └── docker-compose*.yml # Docker 配置 ``` --- ## 联系方式 - **技术负责人**: [name@example.com] - **问题反馈**: [GitHub Issues]