SpecialX
dda33ac2d1
chore(data-ana): merge data-ana full implementation into main
...
Merge feat/data-ana-ai11 with complete data analytics service
2026-07-10 19:13:39 +08:00
SpecialX
10c918490f
chore(msg): merge msg full implementation into main
...
Merge feat/msg-ai10 with complete messaging service
2026-07-10 19:13:21 +08:00
SpecialX
3382528085
chore(core-edu): merge core-edu full implementation into main
...
Merge feat/core-edu-ai08 with complete teaching core service
2026-07-10 19:12:44 +08:00
SpecialX
7b7abbb309
feat(msg): 完整实现 msg 消息服务
...
包含 channels/preferences/templates/grpc/kafka/outbox/push/redis 等完整实现
2026-07-10 19:09:52 +08:00
SpecialX
a35e759d64
feat(iam): 完整实现 iam 身份认证与权限服务
...
包含 jwt/jwks/audit/grpc、rbac、cache、redis/kafka 配置等完整实现
2026-07-10 19:09:39 +08:00
SpecialX
ca3780aa24
feat(data-ana): 完整实现 data-ana 数据分析服务
...
包含 CDC consumer、analytics/mastery/warning service、grpc server、repository、ClickHouse DDL 等
2026-07-10 19:09:27 +08:00
SpecialX
58c0ba1bd9
feat(core-edu): 完整实现 core-edu 教学核心服务
...
包含 classes/exams/homework/grades/attendance/scheduling 域、outbox、iam-consumer、redis 配置等完整实现
2026-07-10 19:08:56 +08:00
SpecialX
f1e466a772
fix(infra): resolve NestJS dist build and Prometheus target issues
...
CI / quality-go (push) Failing after 5s
CI / quality-proto (push) Failing after 3s
CI / deploy (push) Has been skipped
CI / quality-ts (push) Failing after 50s
NestJS: disable incremental in 6 services tsconfig.json to fix dist
not emitted when nest-cli deleteOutDir conflicts with tsc tsbuildinfo.
classes/iam: import HealthModule in AppModule to fix /healthz 404.
classes: rewrite HealthController to Drizzle getDb from TypeORM DI.
teacher-bff: add /metrics endpoint for Prometheus scraping.
infra: add node/mysql/redis exporters to observability profile.
mysql-exporter v0.15.1 uses command-line flags not DATA_SOURCE_NAME.
prometheus: enable web.enable-lifecycle for hot reload.
2026-07-09 15:12:15 +08:00
SpecialX
b72c8d81d4
fix(infra): use conditional docker template to avoid Health key error
...
CI / quality-ts (push) Failing after 1m0s
CI / quality-go (push) Failing after 4s
CI / quality-proto (push) Failing after 2s
CI / deploy (push) Has been skipped
Use {{if .State.Health}}...{{end}} instead of direct {{.State.Health.Status}}.
2026-07-09 13:58:55 +08:00
SpecialX
959d58a95d
docs: add full-stack runbook and one-click scripts
...
CI / quality-ts (push) Failing after 51s
CI / quality-go (push) Failing after 3s
CI / quality-proto (push) Failing after 2s
CI / deploy (push) Has been skipped
start-all/stop-all/health-check/test-cdc PowerShell scripts.
Compatible with PowerShell 5.1 (ASCII only, no emoji).
2026-07-09 13:47:46 +08:00
SpecialX
1f901c5b20
feat(data-ana): implement complete CDC pipeline MySQL to ClickHouse
...
Debezium + Kafka + aiokafka consumer with table routing.
E2E verified: MySQL INSERT to ClickHouse upsert.
2026-07-09 13:02:59 +08:00
SpecialX
416e1bc0b2
feat(msg): 修复通知服务并添加ES降级与Push Gateway推送
...
database.ts 导出db常量替代getDb()函数
env.ts JWT_SECRET/ES_URL改optional加DEV_MODE/PUSH_GATEWAY_URL
elasticsearch.ts ES降级: ES_URL未设置时esClient=null
notifications.service.ts 加createBatch+分页查询+Push Gateway推送调用
新建msg-init.sql创建2张表
2026-07-09 09:08:57 +08:00
SpecialX
421edd8a41
feat(data-ana): 完善学情诊断服务并添加ClickHouse降级模式
...
config.py ClickHouse连接改可选+加DEV_MODE/kafka_brokers
clickhouse_client.py 降级模式: host为空时返回None
main.py 端点先查ClickHouse降级返回骨架数据+新增errorbook
新增clickhouse-init.sql创建宽表和错题表
Gateway添加/analytics路由
2026-07-09 08:58:39 +08:00
SpecialX
921fe82771
feat(content): 修复服务并添加chapters/knowledge-points/questions模块
...
- database.ts 导出db常量替代getDb()函数
- env.ts JWT_SECRET/ES_URL/NEO4J_URL改optional加DEV_MODE
- neo4j.ts driver惰性创建+try/catch+connectionTimeout:3000
- health/lifecycle改用Drizzle原生查询
- textbooks.schema修复integer到int+导出NewTextbook类型
- 新建chapters/knowledge-points/questions三模块CRUD
- knowledge-points含Neo4j前置依赖图非阻塞查询
- content-init.sql创建4张表
端到端验证: textbooks/chapters/knowledge-points/questions全CRUD通过
2026-07-09 08:52:15 +08:00
SpecialX
4533da6484
feat(core-edu): 修复服务启动并打通考试作业成绩端到端链路
...
database.ts 导出 db 常量替代 getDb()
env.ts JWT_SECRET 改 optional 并新增 DEV_MODE
kafka.ts connectKafka 加 try/catch 不阻塞启动
main.ts 去全局前缀 connectKafka 改非阻塞
app.module 移除未用模块加 HealthModule
controller 路由去前缀去 UseGuards 从 x-user-id 读身份
service datetime ISO 字符串转 Date 修复 drizzle 错误
修正相对 import 路径
health/lifecycle 改用 Drizzle 原生查询
新增 core-edu-init.sql 初始化 4 张表
端到端验证: exams/homework/grades 全部 201/200
Outbox 事件正确写入 core_edu_outbox 表
2026-07-09 08:02:22 +08:00
SpecialX
a2f0ca26ae
feat(iam): 实现 RBAC + 视口配置 + DataScope
...
- 新增 iam_role_viewports 表(4 层视口模型:L1 导航/L2 路由/L3 组件/L4 数据)
- iam_users 添加 data_scope 字段(6 级:self/class/grade/school/district/all)
- JWT payload 包含 dataScope,注册时自动分配 teacher 角色
- 新增 getEffectivePermissions(多角色权限去重)
- 新增 getUserViewports(按权限过滤视口)
- 新增 RbacController:GET /iam/viewports, /iam/permissions/effective, /iam/roles, /iam/permissions
- 添加 7 个权限点 + 12 条角色权限映射 + 7 个视口种子数据
2026-07-09 00:35:34 +08:00
SpecialX
adea22b133
chore(iam): 添加 IAM 数据库初始化脚本
...
包含 6 张 IAM 表结构与 teacher/admin 默认角色种子数据,用于 P1 端到端验证。
2026-07-09 00:25:58 +08:00
SpecialX
4629de1926
fix(arch-scan): 修复多语言扫描器并添加 DELETE 清空表
...
- scanner.ts: 添加 DELETE 清空旧数据语句,避免重复插入
- ts-scanner: 改用 regex 替代 ts-morph 解析(避免解析失败)
- go-scanner/py-scanner/proto-scanner: 完善实现
2026-07-08 12:49:43 +08:00
SpecialX
2ba4250165
feat(p1): complete P1 foundation stage
...
CI Go / test (push) Has been cancelled
CI Proto / lint (push) Has been cancelled
CI Python / test (push) Has been cancelled
CI TypeScript / test (push) Has been cancelled
- monorepo: pnpm workspace + go.work + pyproject.toml + commitlint/husky
- infra: docker-compose (minimal + full profiles) + init-sql + prometheus
- arch-scan: multi-language scanner skeleton (TS/Go/Python/Proto)
- shared-proto: buf v2 + classes.proto (ClassService CRUD contract)
- api-gateway: Go/Gin + JWT HS256 auth + reverse proxy + request ID
- classes: NestJS golden template (error system + observability + middleware + CRUD + tests)
- teacher-portal: Next.js + paper-feel UI design system
- CI/CD: 4 workflows (go/ts/py/proto)
- docs: migration guide + project_rules + coding-standards + git-workflow + ui-design-system + 004 + 9 module READMEs + known-issues + spec/plan migration + roadmap
2026-07-07 23:39:37 +08:00