Skip to content

StrungPattern-coder/QuestEd

Repository files navigation

QuestEd

An Open-Source Quiz Platform for Interactive Learning - Create engaging quizzes with gamification, real-time features, and zero paywalls.

MIT License Next.js TypeScript MongoDB Contributions Welcome

Live Demo: quest-ed-phi.vercel.app
Security Audit: View Report


Why QuestEd?

Educators shouldn't pay for basic features when they're just trying to make learning engaging. QuestEd combines the best of Kahoot's live interaction with Duolingo's gamification - completely free, forever.

⚡ Key Features

For Teachers

  • Live Quiz Sessions (up to 200 concurrent participants on free tier)
  • Question Bank Management - 500+ pre-loaded questions, CSV/JSON import
  • Classroom Management - Email invitations, join codes, student tracking
  • Multiple Quiz Modes - Live (Kahoot-style) or Deadline (self-paced)
  • Real-time Analytics - Scores, rankings, submission tracking, late penalties
  • Template System - Pre-built quiz templates to get started fast
  • Microsoft Teams Integration - NEW! Import Teams classrooms & students automatically

For Students

  • Daily Challenges - Question of the Day with streaks & countdown timer
  • Quick Quiz - Practice mode with no sign-up required (auto-fill for logged-in users)
  • Student Settings - Comprehensive settings hub with profile, notifications, security & integrations
  • Third-Party Integrations - Microsoft Teams, Google Classroom (coming soon), and more
  • Gamification - Streaks, badges, celebrations, podium animations
  • Progress Tracking - Personal stats, leaderboards, achievement system
  • Mobile-First Design - Works flawlessly on all devices
  • Multi-language Support - Built-in i18n (English, German, more coming)

Real-time Features

  • Live quiz broadcasting with WebSocket (Ably)
  • Real-time leaderboard updates
  • Connected participants counter
  • Auto-advancing questions
  • Instant score calculations
  • Teacher controls (pause, skip, end)

🆕 Recent Updates (November 2025)

New Features:

  • 🎨 Redesigned Student Dashboard - Space-efficient two-row navbar with better organization
  • ⚙️ Student Settings Hub - Comprehensive settings page with 4 tabs:
    • Profile management (with enrollment/roll number fields)
    • Notification preferences (test assignments, grades, live quiz reminders)
    • Security settings (password change, 2FA coming soon)
    • Third-party integrations (Microsoft Teams, Google Classroom, and more)
  • Enhanced Question of the Day - Accurate IST timezone, countdown timer, orange theme consistency
  • 🎯 Quick Quiz Auto-fill - Automatically fills your name when logged in
  • 🔐 Improved Security - .gitattributes added to prevent accidental credential exposure
  • 📱 Better Mobile Experience - Updated mobile navigation with settings access

Tech Stack

Frontend

  • Next.js 15 (App Router, React Server Components)
  • TypeScript 5.5
  • Tailwind CSS + Shadcn UI
  • Framer Motion (animations)
  • Canvas Confetti (celebrations)

Backend

  • Next.js API Routes (serverless)
  • Express.js (middleware)
  • MongoDB + Mongoose
  • JWT Authentication (bcrypt)
  • Nodemailer (email system)
  • Microsoft Graph API (Teams integration)

Real-time & Infrastructure

  • Ably (WebSocket communication)
  • Vercel (deployment, CDN, serverless functions)
  • MongoDB Atlas (cloud database)

Security 🔒

  • Rate limiting (brute-force protection)
  • Input sanitization (NoSQL injection prevention)
  • Security headers (XSS, clickjacking protection)
  • JWT with HTTP-only cookies
  • bcrypt password hashing (10 rounds)
  • HTTPS enforced in production
  • Git security (.gitignore, .gitattributes for sensitive files)
  • Credential rotation procedures documented

🚀 Quick Start

Ready to get started? Check out our Getting Started Guide for complete setup instructions.

Quick overview:

  1. Clone the repository
  2. Install dependencies (npm install)
  3. Set up environment variables (MongoDB, Ably, JWT)
  4. Run development server (npm run dev)

📖 View Full Setup Guide →


Documentation

Comprehensive documentation is available in the /docs folder:

Essential Guides

📂 View All Documentation →


🤝 Contributing

We actively welcome contributions! Whether you're fixing bugs, adding features, improving docs, or suggesting ideas - all contributions are valued.

How to Contribute:

  1. Read CONTRIBUTING.md
  2. Fork the repository
  3. Create feature branch (git checkout -b feature/amazing-feature)
  4. Commit changes (git commit -m 'Add amazing feature')
  5. Push to branch (git push origin feature/amazing-feature)
  6. Open Pull Request

Good First Issues:

  • 🟢 Add new language translations
  • 🟢 Improve mobile responsiveness
  • 🟢 Add more quiz templates
  • 🟢 Write unit tests

👉 See Full Contribution Guidelines →


📄 License

This project is licensed under the MIT License - see LICENSE file for details.

TL;DR: You can use, modify, distribute this project for free, even commercially. Just keep the license notice.


📜 Attribution

If you use QuestEd in your project, please:

While not legally required, it helps the project grow!


⭐ Show Your Support

If you find QuestEd useful, here's how you can help:

  • Star this repository - It helps others discover the project
  • 🍴 Fork and contribute - See CONTRIBUTING.md for guidelines
  • 📢 Share with educators - Spread the word about free ed-tech tools
  • 🐛 Report bugs - Help us improve by opening issues
  • 💡 Suggest features - We're always looking for new ideas
  • 📝 Write about it - Blog posts, tutorials, or reviews are appreciated

Every contribution, no matter how small, makes a difference! 🙏


💬 Support

For issues or questions:


💰 Pricing

  • ✅ Up to 200 concurrent users at the same time (Ably free tier)
  • ✅ Unlimited total users
  • ✅ Unlimited quizzes and questions
  • ✅ All features included (no premium tiers)
  • ✅ Open-source (MIT License)

Note: For more than 200 concurrent users, you'll need to upgrade to Ably's paid tier (~$29-299/month depending on scale). See SECURITY_AUDIT_REPORT.md for scaling details.


Built with ❤️ for educators worldwide

Stack: Next.js 15 · TypeScript · MongoDB · Ably · Tailwind CSS · Shadcn UI · Framer Motion

About

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages