Skip to content

Kahoot-style quiz web app built with Django REST Framework and Vue 3 (Vite).

Notifications You must be signed in to change notification settings

manuelcorcoles/Kahoot_Clone

Repository files navigation

🎯 Kahoot-Style Quiz Platform (Django REST + Vue 3)

A full-stack web quiz game inspired by Kahoot, built with Django REST Framework (backend) and Vue 3 + Vite (frontend).
Players can create quizzes, join games using a public code, answer questions in real time, and compete on a leaderboard.

📄 User Guide: Guia Uso.pdf
(Contains detailed instructions on how to create questionnaires, host games, and participate.)


✨ Features

  • Create and manage quiz questionnaires
  • Generate unique game codes for participants
  • Join games using an alias
  • Submit answers and view rankings
  • REST API for quizzes, participants, and answers
  • Admin interface for managing users and questions
  • Responsive Vue 3 interface built with Vite
  • Supports deployment on Render (Gunicorn + Whitenoise)

🧱 Architecture

Layer Technology Description
Frontend Vue 3 + Vite Single-page app that consumes the REST API
Backend Django 3.2 + DRF Exposes endpoints for games, participants, and guesses
Database PostgreSQL (Render) / SQLite (local) Persists games, participants, and questions
Server Gunicorn + Whitenoise Handles production deployment
API Auth Token-based (SimpleJWT, limited endpoints) Protects admin/host operations

🛠 Tech Stack

  • Backend: Django 3.2 · Django REST Framework · dj-database-url · psycopg2-binary · Whitenoise · Gunicorn
  • Frontend: Vue 3 · Vite · Axios
  • Database: PostgreSQL (prod) / SQLite (dev)
  • Utilities: dotenv · django-cors-headers · coverage

🚀 Quickstart (Local Setup)

1️⃣ Backend (Django)

git clone https://github.com/<yourusername>/<repo>.git
cd <repo>
python -m venv .venv
# Activate it
. .venv/Scripts/activate      # Windows PowerShell
# or
source .venv/bin/activate     # macOS / Linux

pip install -r requirements.txt

Then run:

python manage.py migrate
python manage.py createsuperuser
python manage.py runserver

2️⃣ Frontend (Vue 3 + Vite)

cd vueClient
npm install
# Optional: set backend URL
echo "VITE_API_URL=http://127.0.0.1:8000" > .env.development

npm run dev

👥 Authors

Matías Jiménez Segura
Manuel Córcoles

About

Kahoot-style quiz web app built with Django REST Framework and Vue 3 (Vite).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors