Skip to content

iamaparnaojha/studybuddy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Studybuddy/FlashLearn

Studybuddy/FlashLearn is an AI-powered learning platform that transforms PDFs and YouTube videos into interactive quizzes, making exam preparation faster and more engaging.

The Problem:
Students struggle with last-minute revisions through lengthy PDFs and videos. Finding key concepts quickly and testing knowledge in real-time remains a challenge.

Our Solution:
An AI-driven platform that:
πŸ“„ Generates quizzes from uploaded PDFs
πŸŽ₯ Converts YouTube videos into bite-sized quizzes
πŸ† Tracks progress with leaderboards and streaks
πŸ€– Provides instant doubt-solving via AI chatbot

🌟 Key Features

  • AI-Powered Quiz Generation
    Upload PDFs or paste YouTube links to instantly create quizzes
  • Gamified Learning
    Compete on category-specific leaderboards (React, DSA, etc.)
  • Smart Flashcards
    AI generates adaptive flashcards from your learning material
  • Discussion Forums
    Collaborate with peers on tricky concepts
  • Learning Streaks
    Daily quiz challenges to boost retention

πŸ›  Tech Stack

  • Frontend: React.js βš›, Tailwind CSS
  • Backend: Node.js 🟩, Express.js
  • Database: MongoDB πŸ—ƒ
  • AI Integration: Quiz generation & chatbot
  • APIs: YouTube Data API, AI services

πŸ”§ Setup Instructions

βš™ Prerequisites

  • Node.js (v16+)
  • MongoDB Atlas account
  • YouTube API key

πŸ”§ Setup Instructions

βš™ Prerequisites

  • Node.js (v18 or higher)
  • MongoDB Atlas account (or local MongoDB)
  • YouTube Data API v3 key
  • Git

πŸš€ Installation

  1. Clone the repository:

    git clone https://github.com/iamaparnaojha/studybuddy.git
    cd studybuddy
    
  2. Split the terminal and navigate to both server and client directories:

    cd server

    In the other terminal:

    cd client
  3. Install dependencies in both server and client:

    npm i
  4. Set up .env files:

    • In the server directory, create a .env file:

      touch .env

      Add the following variables (without their values):

      PORT=5000
      MONGO_URL=mongodb+<your-mongodb-url>
      JWT_SECRET=<your-secret-key>
      NODE_ENV=development
      
      # API Keys
      YOUTUBE_API_KEY=<your-youtube-api-key>
      GEMINI_API_KEY=<your-gemini-api-key>
      ASSEMBLYAI_API_KEY=<your-assemblyai-api-key>
      OPENAI_API_KEY=<your-openai-api-key>
      
      # Cloudinary
      CLOUDINARY_CLOUD_NAME=<your-cloud-name>
      CLOUDINARY_API_KEY=<your-cloudinary-api-key>
      CLOUDINARY_API_SECRET=<your-cloudinary-api-secret>
      CLOUDINARY_URL=cloudinary://<your-cloudinary-url>
    • In the client directory, create a .env file:

      touch .env

      Add the following variable:

      VITE_API_URL=
      
      
      
  5. Run the project:

    • Start the server:
      npx run server
    • Start the client:
      npm run dev
    • Click the link shown in the client terminal to open the application.
    • To stop the client, press Ctrl + C in the terminal.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages