QuizStream

Application that lets users create and do multiple-choice quizzes based on YouTube videos.

Stars
2

QuizStream

QuizStream: Create and solve quizzes of YouTube videos

QuizStream is aimed at making learning more engaging by turning YouTube videos into interactive quizzes. Whether you're a teacher, a content creator or just someone who loves to learn, QuizStream simplifies the process of creating quizzes based on video content. All you need is a YouTube video that you'd like to turn into a quiz. The application does the heavy lifting for you, automatically generating questions from the video's content. You can customize the quiz additionally by setting the difficulty level and by choosing the language.

๐Ÿ“– Stack

Frontend Angular 18 Backend Java 21 Python LLM Frameworks LangChain OpenAI API Frameworks Spring Boot 3 FastAPI DBs PostgreSQL PGVector CI/CD Docker Kubernetes CircleCI GKE

๐Ÿš€ Getting Started

  • Google Kubernetes Engine cluster available at
  • CircleCI pushes the Docker images after each successful build to
  • Checkout repository
    • Start application with โ€˜docker-compose -f docker-compose_dev_all.yaml up --buildโ€™
      • Frontend should be available on localhost:4200.
    • Use Kubernetes with 'kubectl apply -f ./k8s' to deploy locally
      • Frontend should be available directly on localhost/
      • For backend API access we use nginx routing with localhost/api/v1/*
      • Be aware to check deployment configs for Docker image versions

๐ŸŒ Architecture

QuizStream is built using a microservices architecture, with the following components:

๐ŸŒŸ Features

  • Easy-to-Use Interface: Our sleek Angular-based frontend makes navigating and using QuizStream a breeze.
  • Powerful Backend: We use Spring Boot to handle all the data and requests behind the scenes.
  • Smart AI Processing: Our Python-based backend converts video content into quiz questions effortlessly.
  • Reliable Data Storage: Your quizzes and user information are safely stored in a PostgreSQL database.

๐Ÿ› ๏ธ Development

Directory Structure

  • /app Angular frontend
  • /api Spring Boot API
  • /backend Python backend
  • /postgres Database for user and quiz data