epic: Study Tools — AI-powered study features from interview documents
- Ngôn ngữ chính
- Python
- Star
- 0
- Fork
- 0
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
## Epic Overview
Transform uploaded interview knowledge documents into an active study experience. This epic delivers a standalone **Study Hub** screen (top-level nav, separate from Jobs) with four AI-powered tools driven by Claude + the existing pgvector embedding pipeline.
## Problem
Users upload rich reference material (annual reports, product briefs, technical specs) into each job. Once embedded, those documents are only accessible during live interview chat. There is no way to actively study or retain the material beforehand.
## Impact
Candidates invest time in document uploads but see no study ROI from them. Adding study tools closes this gap and makes Vett the end-to-end interview preparation platform — from job tracking to active learning.
## Child Issues
This epic tracks four deliverables. Each has its own issue:
- [ ] feat: AI flashcard generation from interview knowledge documents
- [ ] feat: auto-generate quiz questions from uploaded interview documents
- [ ] feat: concept mind map extraction from interview knowledge documents
- [ ] feat: AI-generated study notes and topic summaries from interview documents
## Proposed Architecture (High Level)
```
frontend/src/pages/StudyHub.tsx ← new top-level route /study and /study/:jobId
frontend/src/components/study/ ← Flashcards, Quiz, MindMap, Notes components
backend/app/routers/study.py ← new router, registered in main.py
backend/app/models/study.py ← StudyCardSet, StudyCard, MindMap, StudyNotes
backend/app/services/study_service.py ← shared RAG retrieval + Claude prompt helpers
```
**All tools share the same retrieval pattern:**
1. pgvector similarity search over `interview_knowledge_documents` chunks (reuses `practice_vector` pattern)
2. Retrieved chunks passed to Claude (claude-sonnet-4-6) with a tool-specific prompt
3. Structured JSON or streamed markdown returned to the frontend
**Navigation**
- "Study" added to top-level sidebar nav between "Interview Prep" and "Practice"
- Deep-link from JobDetails: "Study this job" → `/study/:jobId`
- Study Hub is its own route — not a tab inside JobDetails
## Functionality Impact
- No changes to existing routers or models
- Reuses: pgvector retrieval, SSE streaming (interview_chat pattern), Claude LLM service
- New surface area: `/study` router, `study.py` models, `StudyHub.tsx` page
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.