Login/Signup: Users can create accounts and log in to participate in quizzes and view their scores. Session Management: Each user has a unique session to track progress and results.
Quiz Models: Quizzes are stored in the database, typically with fields like title, description, category (e.g., programming, algorithms), and a set of questions. Question Models: Each quiz has multiple questions, which include the question text, options, and correct answers.
Quiz-taking page: A simple, interactive interface to take quizzes where users answer multiple-choice or text-based questions. Answer Submission: After answering a question, users can move to the next one, and upon completion, they get a summary of their results.
Categories and Difficulty: The quizzes can be categorized by difficulty (easy, medium, hard) or by technical topics (e.g., Python, Data Structures, Algorithms, Web Development). Question Types: Mix of multiple-choice questions, coding challenges, and theoretical questions related to technical topics.
Score Calculation: After finishing a quiz, users get a score based on the number of correct answers and possibly the time taken to complete the quiz. Leaderboard Models: A model to track user scores for each quiz and display the top performers. Viewing Leaderboard: A page that displays a leaderboard, showing the highest scores for each quiz, with the user’s rank and score. This could also be filtered by date or quiz type.
Backend: Django (Python) for user management, quiz questions handling, and database management.
Frontend: HTML, CSS, JavaScript for the quiz app and user interface.
Database: SQLite to store user data, quiz, leaderboard info.
Clone this repository to your local machine using Git:
git clone https://github.com/ganeshsriprasad/Quiz-App
A virtual environment is recommended to isolate the project dependencies. Follow the steps below:
cd Quiz-App
python -m venv myenv
myenv\Scripts\activate
Once activated, your terminal prompt will change to show the virtual environment name.
With the virtual environment activated, install the required dependencies using pip:
pip install -r requirements.txt
python manage.py makemigrations
python manage.py migrate
To start the development server, use the following command:
python -m manage runserver
You can now access the website at http://127.0.0.1:8000/ in your browser.
-
Option 1
- 🍴 Fork this repo!
-
Option 2
- 👯 Clone this repo to your local machine.
- Build your code 🔨🔨🔨
- 🔃 Create a new pull request.
This project is licensed under the MIT License - see the LICENSE.md file for details.