e79d69f0af3a0abd8f88f06d5365d310c104f36e
- Update TEST_COVERAGE_IMPROVEMENT_REPORT.md with real current status * Instruction coverage: 87% (was 35%) * Branch coverage: 66% (was 18%) * Line coverage: 93% (was 40.6%) * Document defensive code analysis (30-40 unreachable branches) * Add recent improvements and next steps - Add PROJECT_STATUS_REPORT.md for comprehensive project overview * Code quality metrics (A- rating) * Module maturity assessment * Architecture and security status * Deployment readiness (95%) * Testing infrastructure details Both reports reflect actual measured data from JaCoCo 2026-03-04
mosquito
Spring Boot 3 (Java 17) 应用,用于活动传播、邀请奖励与运营分析。
快速开始
- 构建与测试:
mvn -B -DskipTests=false clean verify(将触发 Flyway 迁移与覆盖率门禁) - 运行(开发):
mvn spring-boot:run(默认dev配置)
关键端点
-
所有 JSON 响应统一为
ApiResponse,业务数据位于data字段。 -
/api/**需要X-API-Key;/api/v1/me/**、/api/v1/activities/**、/api/v1/api-keys/**、/api/v1/share/**还需要Authorization: Bearer <token>。 -
API 密钥
- 创建:
POST /api/v1/api-keys - 吊销:
DELETE /api/v1/api-keys/{id} - 使用(按 ID 校验并打点):
POST /api/v1/api-keys/{id}/use - 使用(仅凭明文密钥,无需 ID):
POST /api/v1/api-keys/validate
- 创建:
-
用户端体验
- 邀请信息:
GET /api/v1/me/invitation-info - 邀请好友分页:
GET /api/v1/me/invited-friends - 海报图片:
GET /api/v1/me/poster/image - 海报 HTML:
GET /api/v1/me/poster/html - 海报配置:
GET /api/v1/me/poster/config
- 邀请信息:
-
缓存管理(需要管理令牌)
- 清空缓存:
DELETE /api/v1/cache/{cacheName} - 失效键:
DELETE /api/v1/cache/{cacheName}/{key}
- 清空缓存:
运维与安全
- 配置管理令牌:
app.cache.admin-token(通过环境变量或配置文件注入) - 缓存失效限流:
app.cache.rate-limit-per-minute(默认 60) - Redis 缓存分组 TTL(可在
CacheConfig中调整):leaderboards5m、activities1m、activity_stats2m、activity_graph10m
- 生产环境必须设置
app.security.encryption-key(例如环境变量APP_SECURITY_ENCRYPTION_KEY) - 覆盖率门禁:
pom.xml中启用 JaCoCo,阈值 80%,在verify阶段校验
更多接口与错误码见 docs/api.md。
Description
Languages
Java
60.6%
Shell
39.4%