You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An intelligent study companion that transforms your documents into interactive quizzes and flashcards using AI. Features a multi-agent architecture, spaced repetition learning, handwriting recognition, semantic document chunking with RAG, and comprehensive learning analytics.
Smart Scheduling: Cards appear when optimal for retention
Tech Stack
Frontend
Technology
Purpose
React 18
UI framework
Vite
Build tool
Tailwind CSS
Styling
React Router
Navigation
ECharts
Data visualization
Axios
HTTP client
Lucide React
Icons
Backend
Technology
Purpose
FastAPI
API framework
SQLAlchemy
Async ORM
PostgreSQL
Database
pgvector
Vector similarity search
Alembic
Migrations
Pydantic
Validation
structlog
Structured logging
AI Providers (Configurable)
Provider
Models
Anthropic
Claude Haiku, Sonnet
OpenAI
GPT-4, GPT-4o (vision)
Moonshot
Kimi K2
Groq
Mixtral
Together AI
Various
AWS Bedrock
Claude models
Embedding Providers
Provider
Model
Dimensions
OpenAI
text-embedding-ada-002
1536
Moonshot
moonshot-v1-embedding
1024
Voyage AI
voyage-3
1024
Infrastructure
Service
Purpose
AWS Elastic Beanstalk
Backend hosting
AWS S3
Frontend hosting
AWS RDS
PostgreSQL database
Sentry
Error tracking
Docker
Containerization
Getting Started
Prerequisites
Python 3.11+
Node.js 18+
PostgreSQL 15+ with pgvector extension
Docker (optional)
Quick Start with Docker
# Clone the repository
git clone https://github.com/yourusername/studyforge.git
cd studyforge/quiz-flashcard-app
# Create environment file
cp .env.example .env
# Edit .env with your API keys# Start all services
docker-compose up -d
# Access the application# Frontend: http://localhost:3000# Backend: http://localhost:8000# API Docs: http://localhost:8000/docs
Local Development
Backend
cd quiz-flashcard-app/backend-python
# Create virtual environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate# Install dependencies
pip install -r requirements.txt
# Run migrations
alembic upgrade head
# Start server
uvicorn main:app --reload --port 8000
Frontend
cd quiz-flashcard-app/frontend
# Install dependencies
npm install
# Start dev server
npm run dev
Environment Variables
Backend Configuration
# DatabaseDATABASE_URL=postgresql+asyncpg://user:pass@host:5432/studyforge# EnvironmentENVIRONMENT=development# or productionDEBUG=true# AI Provider (choose one)AI_PROVIDER=moonshot# moonshot, openai, anthropic, groq, bedrockAI_MODEL=kimi-k2-0711-preview# Provider API KeysMOONSHOT_API_KEY=your-keyOPENAI_API_KEY=your-keyANTHROPIC_API_KEY=your-key# Vision (for handwriting recognition)VISION_PROVIDER=openaiVISION_MODEL=gpt-4o# EmbeddingsEMBEDDING_PROVIDER=openaiEMBEDDING_MODEL=text-embedding-ada-002# AuthenticationGOOGLE_CLIENT_ID=your-client-idGOOGLE_CLIENT_SECRET=your-client-secretJWT_SECRET_KEY=your-secret-key# MonitoringSENTRY_DSN=your-sentry-dsn