QuizScribe is your gateway to smarter learning. This innovative platform transforms YouTube videos into interactive courses, allowing you to actively engage with content through summaries, flashcards, quizzes, and diagrams. Powered by cutting-edge AI technologies like AssemblyAI, QuizScribe redefines how knowledge is absorbed and retained, making learning more engaging and efficient.
- Summaries: Quickly review the key points of any video.
- Flashcards: Automatically generate study cards and export them to Anki for extended learning.
- Quizzes: Test your knowledge with personalized, AI-generated multiple-choice questions.
- Diagrams: Visualize and simplify complex concepts.
- Folders: Organize videos by topic, theme, or personal goals.
- Browser Extension: Seamlessly transform any YouTube video into a learning tool with a single click.
- Chrome Extension Repository: QuizScribe Chrome Extension
- Blog Post: QuizScribe on Dev.to
-
Clone the repository:
git clone https://github.com/ismaildrs/quizscribe.git cd quizscribe
-
Install dependencies:
npm install
-
Set up environment variables:
Create a.env
file in the root directory with the following values:AUTH_SECRET=<your_auth_secret> AUTH_GOOGLE_ID=<your_google_client_id> AUTH_GOOGLE_SECRET=<your_google_client_secret> ASSEMBLYAI_API_KEY=<your_assemblyai_api_key> YOUTUBE_API_KEY=<your_youtube_api_key> DATABASE_URL=<your_mongodb_connection_string>
Variable Details:
- AUTH_SECRET: A secure key for authentication.
- AUTH_GOOGLE_ID and AUTH_GOOGLE_SECRET: Obtain from Google Cloud Console under OAuth 2.0.
- ASSEMBLYAI_API_KEY: Create an account at AssemblyAI.
- YOUTUBE_API_KEY: Enable the YouTube Data API in Google Cloud Console.
- DATABASE_URL: Your MongoDB connection string, available on MongoDB Atlas.
-
Configure the database:
Run these Prisma commands to synchronize your schema:npx prisma generate npx prisma db push
-
Start the development server:
npm run dev
-
Open the app in your browser: http://localhost:3000.
Created with passion by:
Together, we aim to make online learning smarter, more engaging, and more accessible.