SpecialX
|
566060fade
|
feat(infra): p6 hardening - observability and deploy compose
- 5 NestJS services add /metrics endpoint via app.getHttpAdapter()
- prometheus.yml scales to 8 services with rule_files and alertmanager
- monitoring compose replaces blackbox with Loki+Promtail
- Grafana datasource adds Loki
- docker-compose.deploy.yml scales to 11 services
- deploy.env.example completes Neo4j/ES/ClickHouse/LLM vars
- teacher-bff adds health.controller
- CI removes continue-on-error on lint step
- teacher-portal lint script changed to eslint src
|
2026-07-09 10:21:06 +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 |
|