Set up Fastify + TypeScript + Drizzle ORM backend with: - Database schema (7 tables: users, categories, questions, knowledge_cards, user_progress, skill_tree, user_chapter_progress) - JWT auth middleware + admin token auth - Route structure for auth, quiz, progress, gamification, payment, and admin - Service stubs for Phase 1b implementation - Zod-validated env config, custom error classes
1.7 KiB
1.7 KiB
CLAUDE.md — duoqi-api
多奇服务端 API,基于 Node.js + TypeScript + MySQL 8.0+
项目概述
多奇(Duoqi)是游戏化知识闯关学习平台。duoqi-api 是三端(HarmonyOS / Flutter / Web)共享的后端服务,从 Phase 1 起即为 HarmonyOS 客户端提供 API 支持。
设计文档
设计文档位于项目总目录的 docs/ 中:
| 文档 | 路径 | 说明 |
|---|---|---|
| 本库开发规格 | ./dev-spec.md | 工程实施主文档,开发前必读 |
| 产品总纲 | ../docs/product-overview.md | 产品定位、功能范围 |
| 技术选型 | ../docs/tech-stack.md | 全栈技术决策 |
| 共享设计文档 | ../docs/specs/shared/ | 题目格式、游戏化、吉祥物、推送、埋点 |
关键共享文档快速索引
- 题目内容格式 — 数据模型、出题引擎、难度算法
- 游戏化 + 广告 + 商业方案 — XP/心/连胜/技能树规则、订阅定价
- 吉祥物设计规格 — 皮肤系统(Pro+ 权益)
- 推送通知策略 — 通知触发逻辑
- 数据埋点与反馈 — 服务端事件
开发原则
详见 dev-spec.md 获取完整上下文。
技术栈速查
- 语言:TypeScript (Node.js)
- 数据库:阿里云 RDS MySQL 8.0+
- 认证:自建 JWT(华为 ID Kit + 游客模式)
- 文件存储:阿里云 OSS
- 分析:PostHog 自托管(独立于业务库)