SkillAgentSearch skills...

TestMe

AI-Powered Quiz Generator that generates intelligent quizzes from multiple content sources using advanced AI. Built with modern technologies and designed for scalability, it supports YouTube videos, PDFs, images, and custom text to create engaging multiple-choice, true/false, and mathematical questions.

Install / Use

/learn @nosisky/TestMe
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

TestMe - AI-Powered Quiz Generator

Next.js TypeScript MongoDB Vercel AI SDK MIT License Production Ready

Transform any content into engaging quizzes with the power of AI

TestMe is a production-ready, full-stack web application that generates intelligent quizzes from multiple content sources using advanced AI. Built with modern technologies and designed for scalability, it supports YouTube videos, PDFs, images, and custom text to create engaging multiple-choice, true/false, and mathematical questions.

🎯 Perfect for: Educators, content creators, training organizations, and anyone looking to create interactive learning experiences.

🚀 Live Demo: https://test-me-beta.vercel.app

📑 Table of Contents

⚡ Quick Start

Want to get TestMe running quickly? Follow these essential steps:

# 1. Clone and install
git clone https://github.com/nosisky/testme.git
cd testme
npm install

# 2. Setup environment (copy and fill with your API keys)
cp env.example .env.local

# 3. Start development server
npm run dev

Essential environment variables to configure:

  • OPENAI_API_KEY - For AI quiz generation
  • GOOGLE_CLIENT_ID & GOOGLE_CLIENT_SECRET - For authentication
  • MONGODB_URI - For database storage
  • YOUTUBE_API_KEY - For YouTube video processing

📚 Detailed setup instructions are available in the Getting Started section below.

✨ Features

🎯 Core Functionality

  • Multi-Source Content: Generate quizzes from YouTube videos, PDFs (up to 5 pages), images, and custom text
  • AI-Powered Knowledge Gap Analysis: Automatically identifies learning gaps and key topics
  • Smart Question Generation: Creates multiple-choice, true/false, and mathematical questions
  • Adaptive Difficulty: Customizable difficulty levels (easy, medium, hard, expert)
  • LaTeX Math Support: Full mathematical equation rendering with MathJax

🎨 User Experience

  • Interactive Quiz Interface: Animated quiz-taking experience with real-time feedback
  • Responsive Design: Optimized for desktop, tablet, and mobile devices
  • Professional UI: Modern design with consistent theming
  • Quiz Sharing: Share quizzes via secure links
  • Performance Analytics: Detailed quiz statistics and user performance tracking

🔐 Security & Authentication

  • Google OAuth Integration: Secure authentication with Google accounts
  • User Management: Role-based access control (admin/user)
  • Data Privacy: Secure storage of user data and quiz results
  • Anonymous Quiz Taking: Option for users to take quizzes without registration

🤖 AI Integration

  • Multiple AI Providers: Support for OpenAI, Anthropic Claude, DeepSeek, and AWS Bedrock
  • Environment-Based Configuration: Secure API key management
  • Enhanced Large Quiz Generation: Dynamic token management for 15+ questions
  • Fallback Systems: Robust error handling with mock service support
  • Cost Optimization: Choose providers based on budget and performance needs

🚀 Demo

Visit our live demo: https://test-me-beta.vercel.app

Test Account: Use Google OAuth to create your account or try the demo content.

🛠 Technology Stack

Frontend

  • Framework: Next.js 15 with App Router
  • Language: TypeScript
  • Styling: SCSS Modules with CSS Variables
  • UI Components: Custom React components with responsive design
  • Math Rendering: MathJax for LaTeX equation support

Backend

  • Runtime: Node.js with Next.js API Routes
  • Database: MongoDB with Mongoose ODM
  • Authentication: NextAuth.js with Google OAuth
  • File Processing: PDF parsing, image analysis, YouTube transcript extraction

AI Integration

  • AI SDK: Vercel AI SDK for unified provider interface
  • Providers: OpenAI, Anthropic Claude, DeepSeek, AWS Bedrock
  • Vision: OpenAI GPT-4 Vision for image text extraction

Deployment & DevOps

  • Platform: Vercel (recommended) or Docker
  • Monitoring: Built-in analytics and error tracking
  • CI/CD: GitHub Actions ready

🚀 Getting Started

Prerequisites

  • Node.js: Version 18 or higher
  • npm or yarn: Package manager
  • MongoDB: Local instance or MongoDB Atlas
  • Git: Version control

Installation

  1. Clone the repository

    git clone https://github.com/nosisky/testme.git
    cd testme
    
  2. Install dependencies

    npm install
    
  3. Environment setup

    cp env.example .env.local
    

Environment Configuration

Create a .env.local file in the root directory with the following configuration:

# =================================================================
# APPLICATION CONFIGURATION
# =================================================================
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_nextauth_secret_here

# =================================================================
# AUTHENTICATION (Required)
# =================================================================
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret

# =================================================================
# DATABASE (Required)
# =================================================================
MONGODB_URI=mongodb://localhost:27017/testme
# Or for MongoDB Atlas:
# MONGODB_URI=mongodb+srv://username:password@cluster.mongodb.net/testme

# =================================================================
# EXTERNAL APIs (Required)
# =================================================================
YOUTUBE_API_KEY=your_youtube_api_key

# =================================================================
# AI PROVIDER CONFIGURATION
# =================================================================
# Choose your primary AI provider (openai, claude, deepseek, bedrock)
DEFAULT_AI_PROVIDER=openai

# Configure API keys for your chosen provider(s)
# OpenAI (Recommended - reliable, fast, good quality)
OPENAI_API_KEY=your_openai_api_key

# Anthropic Claude (Best for detailed explanations)
CLAUDE_API_KEY=your_claude_api_key

# DeepSeek (Most cost-effective option)
DEEPSEEK_API_KEY=your_deepseek_api_key

# AWS Bedrock (Enterprise-grade, requires AWS setup)
AWS_ACCESS_KEY_ID=your_aws_access_key_id
AWS_SECRET_ACCESS_KEY=your_aws_secret_access_key
AWS_REGION=us-east-1

# =================================================================
# DEVELOPMENT & TESTING
# =================================================================
# Set to 'true' to use mock AI service for testing (no API costs)
USE_MOCK_AI=false

# Set to 'development' for detailed logging
NODE_ENV=development

🤖 AI Provider Setup

OpenAI (Recommended)

Best for: General use, reliable performance, fastest responses

  • Models: GPT-4o-mini (default), GPT-4, GPT-3.5-turbo
  • Pricing: ~$0.0001 per 1K tokens (very affordable)
  • Setup: Get API key
DEFAULT_AI_PROVIDER=openai
OPENAI_API_KEY=sk-your-openai-key-here

Anthropic Claude

Best for: Detailed explanations, complex reasoning, educational content

  • Models: Claude-3-haiku (default), Claude-3-sonnet
  • Pricing: ~$0.00025 per 1K tokens
  • Setup: Get API key
DEFAULT_AI_PROVIDER=claude
CLAUDE_API_KEY=sk-ant-your-claude-key-here

DeepSeek

Best for: Cost-effective alternative, budget-conscious deployments

  • Models: deepseek-chat (default)
  • Pricing: ~$0.00014 per 1K tokens (most affordable)
  • Setup: Get API key
DEFAULT_AI_PROVIDER=deepseek
DEEPSEEK_API_KEY=sk-your-deepseek-key-here

AWS Bedrock

Best for: Enterprise use, enhanced security, compliance requirements

  • Models: Claude-3.7-Sonnet (via inference profile)
  • Pricing: Variable based on AWS pricing
  • Setup: Requires AWS account and Bedrock access
DEFAULT_AI_PROVIDER=bedrock
AWS_ACCESS_KEY_ID=your-aws-access-key
AWS_SECRET_ACCESS_KEY=your-aws-secret-key
AWS_REGION=us-east-1

Important: Bedrock uses inference profiles for newer Claude models. The system automatically uses us.anthropic.claude-3-7-sonnet-20250219-v1:0 which is the cross-region inference profile for Claude 3.7 Sonnet.

JSON Output: Since Bedrock Claude models don't have native JSON mode, TestMe uses clear delimiters (<JSON_START> and <JSON_END>) to ensure reliable JSON extraction from responses.

Supported regions: us-east-1, us-east-2, us-west-2 (automatically routed based on availability)

Provider Comparison

| Provider | Cost | Speed | Quality | Best Use Case | |----------|------|-------|---------|---------------| | OpenAI | 💰💰 | ⚡⚡⚡ | ⭐⭐⭐ | General purpo

View on GitHub
GitHub Stars4
CategoryCustomer
Updated2mo ago
Forks0

Languages

TypeScript

Security Score

90/100

Audited on Jan 27, 2026

No findings