文档
架构与开发
技术栈
- Next.js 15 + React 19 + TypeScript,Tailwind CSS 设计令牌,motion 动效。
- Neon Postgres(Vercel 集成)存储用户数据;bcrypt + JWT Cookie 认证。
- CodeMirror 6 编辑器;three.js r186 本地托管,供沙箱通过 import map 加载。
- 部署在 Vercel,GitHub 推送 main 分支自动部署。
目录
src/core:纯逻辑(主题、快捷键、i18n、markdown、高亮、搜索、用户数据校验),没有 DOM 依赖,全部单元测试覆盖。src/server:数据库、认证、与框架无关的请求处理器(Request → Response),用 PGlite(WASM 版 Postgres)做集成测试。src/client:数据源抽象(访客 localStorage / 账号 API 同一接口)、全局状态、快捷键分发。src/components:设计系统原语与页面组件。examples/<路径>/<slug>:每节课一个文件夹(meta.json+main.js)。public/sandbox.html:代码运行沙箱。
TDD 与质量
npm test 运行全部测试,包括:主题对比度、快捷键解析与冲突检测、中英文案键完全一致、组件中禁止硬编码中文、每节课的元数据与代码校验、API 与用户隔离测试。新增功能先写测试。
新增一节课
- 在
examples/<路径>/下新建文件夹,写meta.json和main.js。 npm test校验格式、双语与导入规则。node scripts/serve-dev.mjs后用python3 scripts/check_example.py <路径>/<slug>在无头浏览器里运行并截图。
详细约定见仓库中的 docs/AUTHORING-EXAMPLES.md。