- FastAPI backend with JWT auth, roles (admin/moderator/user) - PDF upload (up to 500MB) with streaming, PyMuPDF text extraction - ChromaDB vectorization per page with metadata - LiteLLM AI question extraction from PDF (not generation) - Image extraction from PDF pages, graceful fallback - Quiz modes: timed (countdown timer) + learning (answers shown inline) - Page-by-page question navigation with dot navigator - TTS endpoint using LiteLLM (Google Vertex / OpenAI voices) - Admin dashboard: AI model management per task, user role management - Moderator role: upload PDFs, create sections, generate quizzes - Spaced repetition reminders via SMTP email (SM-2 intervals) - APScheduler daily reminder jobs - Celery + Redis for background PDF processing - React frontend with all pages - Docker Compose deployment (nginx + backend + celery + redis) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
19 lines
383 B
Text
19 lines
383 B
Text
fastapi==0.109.2
|
|
uvicorn[standard]==0.27.1
|
|
sqlalchemy==2.0.27
|
|
alembic==1.13.1
|
|
python-jose[cryptography]==3.3.0
|
|
passlib[bcrypt]==1.7.4
|
|
python-multipart==0.0.9
|
|
pydantic[email]==2.6.1
|
|
pydantic-settings==2.1.0
|
|
PyMuPDF==1.23.22
|
|
litellm==1.27.10
|
|
chromadb==0.4.24
|
|
celery[redis]==5.3.6
|
|
redis==5.0.1
|
|
fastapi-mail==1.4.1
|
|
apscheduler==3.10.4
|
|
aiofiles==23.2.1
|
|
python-dotenv==1.0.1
|
|
httpx==0.27.0
|