Initial commit: PastPaper Master full stack

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Zhao
2026-04-21 12:15:35 +07:00
commit 7a09167261
105 changed files with 24799 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
---
name: PastPaper Master 项目概览
description: 项目技术栈、当前开发状态、已完成工作流及下一步优先级
type: project
---
AI 辅助学习平台,支持 COMP2211 试卷练习。核心功能题目工作台、AI 三件套、相似题推荐、错题本、变式题生成。
## 技术栈
- Frontend: React 19 + TypeScript + Vite 7 + Tailwind v4
- Backend: FastAPI + Python 3.12 + uv
- DB: Supabase PostgreSQLRLS 已预留,当前用 temp user id
- LLM: GPT-4o (laozhang proxy) + Qwen-plus fallback
## 当前 DB 状态2026-04-10
COMP2211 共 7 份 status=ready 试卷250 道 subquestion 级题目,均有 knowledge_reminder / ai_hint / solution / analytics_topic / topic_tags / skill_tags。
## 已完成的工作(本次 session
**Workstream A相似题检索 + 移除 demo fallback**
- `backend/app/routers/questions.py`
- `skill_tags` 加入 SELECT 和 `question_topics()` 计算
- 修复 `isinstance(target_score, int)``(int, float)` 支持 NUMERIC 小数分
- `similarity_score()` 返回 `(score, reasons)` tuple
- 过滤阈值从 `<= 0` 改为 `< 10`
- 响应增加 `match_reasons` 字段
- `frontend/src/types/api.ts``SimilarQuestion``match_reasons?: string[]`
- `frontend/src/components/workbench/SimilarHistoryPanel.tsx`:移除全部 demo fallback改为真实 empty/error 状态,显示 match_reasons chip
## 下一步优先级(来自 HANDOFF_COMP2211.md
1. ✅ Workstream A: 相似题检索 + 移除 demo fallback — 已完成
2. Workstream B: Analytics 深化per-paper drill-down、topic 频率时序、高频话题)
3. Workstream C: LaTeX/KaTeX 渲染质量(集中归一化、剔除 OCR 噪声)
4. Workstream D: 用户上传去重(对比 course_library 已有试卷)
5. Workstream E: UI/UX passQuestionNav、状态 badge、workbench 层级)
**Why:** HANDOFF 文档中建议的开发顺序,以数据稳定性为先。
**How to apply:** 下次 session 从 Workstream BAnalytics 深化)开始。