Skip to content

prabhath004/quizly

Repository files navigation

Quizly - AI-Powered Flashcard Generator

An intelligent flashcard generation platform with FastAPI backend and React frontend. Generate flashcards from PDFs or text using OpenAI's GPT-4o.

Quick Start

Prerequisites

  • Python 3.8+
  • Node.js 18+
  • ffmpeg (for audio processing) - Install with brew install ffmpeg (macOS) or apt-get install ffmpeg (Linux)
  • .env file with your Supabase and OpenAI credentials (see env.example)

Backend Setup

  1. Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies
pip install -r requirements.txt
  1. Start the backend server
uvicorn main:app --reload --host 0.0.0.0 --port 8000

The backend will be available at:


Frontend Setup

  1. Navigate to frontend directory
cd Frontend
  1. Install dependencies
npm install
  1. Start the development server
npm run dev

The frontend will be available at:


Start Both Servers (Alternative)

You can start both backend and frontend with one command:

./start-all.sh

This script will:

  • Start the backend on port 8000
  • Start the frontend on port 8080
  • Display both access URLs

Features

  • Generate flashcards from PDFs or text using AI
  • Create decks manually with custom flashcards
  • Edit existing decks and flashcards
  • Multiple question types: MCQ, True/False, Free Response
  • AI-powered answer evaluation
  • User authentication with JWT
  • Speech-to-text support for free response
  • Deck management and study sessions

Configuration

Make sure your .env file contains:

  • SUPABASE_URL
  • SUPABASE_KEY
  • SUPABASE_SERVICE_KEY
  • OPENAI_API_KEY
  • JWT_SECRET_KEY

See env.example for reference.


Database Schema

The application requires the following database columns:

  • decks.order_index - For folder-based deck ordering and podcast autoplay
  • flashcards.audio_url - For voice mnemonic recordings

These should already be set up in your Supabase database. If you're setting up a new database, ensure these columns exist.


API Documentation

Once the backend is running, visit http://localhost:8000/docs for interactive API documentation.


About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •