SpecialX
|
d59c4e585f
|
feat(content): graphql subgraph with dataloader for textbook/chapter/kp/question
- GraphQLModule: Apollo Federation 2 at /graphql
- Textbook/Chapter/KnowledgePoint/Question @key with @ResolveReference
- RouterAuthGuard: validate Router-Authorization header (ADR-036)
- batchFind methods added to 4 repositories
- Domain modules export repositories for GraphqlModule injection
|
2026-07-15 00:18:57 +08:00 |
|
SpecialX
|
9fae2b0e78
|
feat: auto committed
|
2026-07-10 18:57:57 +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
|
9850bfcfd1
|
feat(p4): content analysis service with Neo4j knowledge graph and ClickHouse analytics
P4 阶段交付物:
- services/content: 内容资源服务(NestJS)
- textbooks: 教材 CRUD + 知识图谱绑定
- config/neo4j.ts: Neo4j driver 单例
- textbooks.service.ts: MySQL CRUD + Neo4j 知识图谱(createKnowledgeGraph/getPrerequisites)
- package.json: 补充 @opentelemetry/sdk-node + exporter-trace-otlp-http
- services/data-ana: 数据分析服务(Python FastAPI)
- main.py: FastAPI + /healthz + class_performance + student_weakness 骨架
- clickhouse_client.py: ClickHouse 客户端封装
- config.py: 环境变量配置
- packages/shared-proto/proto/content.proto: TextbookService + KnowledgeGraphService 契约
- packages/shared-proto/proto/analytics.proto: AnalyticsService 契约(class_performance/student_weakness)
|
2026-07-08 01:38:35 +08:00 |
|