137 lines
3.0 KiB
Markdown
137 lines
3.0 KiB
Markdown
# 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 <repository-url>
|
|
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]
|