Giter Site home page Giter Site logo

todi-2000 / quiz-app Goto Github PK

View Code? Open in Web Editor NEW
15.0 2.0 28.0 40.76 MB

A Quiz App where users can register, attempt quiz, view their scores and leaderboard.

License: MIT License

Python 54.86% HTML 27.54% CSS 15.07% JavaScript 2.23% Dockerfile 0.29%
html css bootstrap quiz

quiz-app's Introduction



website title image

👉 A Quiz App in Django👈

📌 Introduction

A website where user have to only register for attempting quizzes and can also leaderboard.

⭐ How to get started?

You can refer to the following articles on the basics of Git and Github and also contact the Project Mentors, in case you are stuck:

💥 How to Contribute?

PRs Welcome Open Source Love svg2

  • Take a look at the Existing [Issues]
  • Wait for the Issue to be assigned to you after which you can start working on it.
  • Fork the Repo and create a Branch for any Issue that you are working upon.
  • Read the [Code of Conduct]
  • Create a Pull Request which will be promptly reviewed and suggestions would be added to improve it.
  • Add Screenshots to help us know what this Script is all about.

Discord Channel

chat on discord

Screenshots

Home Page


Question Page

Tech Stack

  • Frontend: HTML/CSS
  • Backend: Django

Quick Start

  • Fork and Clone the repo:
git clone https://github.com/todi-2000/Quiz-App.git
  • Create a branch:
git checkout -b <branch-name>
  • Create virtual environment:
python -m venv env
env\Scripts\activate
  • Install dependencies using
pip install -r requirements.txt
  • Change Directory:
cd quizz
  • Make migrations using
python manage.py makemigrations
  • Migrate Database
python manage.py migrate
  • Create a superuser
python manage.py createsuperuser
  • Run server using
python manage.py runserver
  • Push Changes
git add .
git commit -m "<your commit message>"
git push --set-upstream origin <branch_name>

Project Admin

Manshi Todi

Open Source Events

This project is a part of NJACK Winter of Code-NWoC. For more details, you can check out this link

NJACK Logo

Contributors ✨

Like This? Star ⭐ & Fork this Repo.

Made By Manshi Todi with ❤️

quiz-app's People

Contributors

aayush-hub avatar hariramjp777 avatar kerinpithawala avatar m-code12 avatar paramsiddharth avatar pinrathod avatar rsrkpatwari1234 avatar subhradeepss avatar tejas1510 avatar the-cross-art avatar todi-2000 avatar vishal-raj-1 avatar vrindagupta6828 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

quiz-app's Issues

Tags for question

Is your feature request related to a problem? Please describe.
Different tags can be attached to a question like #tough,#easy,#difficult,etc for future enhancement features.

Describe the solution you'd like
Adding an extra field tags for model Post by using django-taggit

Updates in README file

In README file the link for issue page and for Code of Conduct page is missing.
can I work on this?

Make UI enhancements

Explanation

The current UI is very simple so help improve the UI/UX and made it look better.

Quiz Ending Page

Explanation

Make a ending page with Thankyou note and displaying score of user after the end of quiz.

Make REST API

Create APIs to get / post data i.e. current score and update score on successful attempt

Use Django Rest Framework.

Tasks to Do:

  • Define the JSON structure of the data.
  • Create GET / POST routes.
  • Provide a Postman collection to test the APIs.

Add issue template

Can I make issue templates to enhance the workflow of the repository?

Host this Project

@todi-2000 Mam, Please host this project either on github or at any other platform. It will help the contributors to see what's happening in the project.

Add category for quiz

We can add categories like history, culture, entertainment, current affairs, miscellaneous for the user to choose what the quiz should be about.

Timer reset on reloading question

Describe the bug
The timer resets to 2 minutes on reloading the question page.

To Reproduce
Steps to reproduce the behavior:

  1. Reload any question page
  2. The timer resets to 2 minutes

Expected behavior
The timer for a question should not reset on page reload.

Add Contributing.md file

I think it is important to have contributing guidelines so that an open-source contributor know how to contribute properly.
Can I work on this?

Contributors Image In Readme

I think it is a great feature to add contributors image in README file. It really motivate to contributors. It is dynamically order the contributors.

contrimga

If you want to this feature on README so I want to do this issue @todi-2020 !! 😄

Add like feature to questions

Adding like button to questions which allows user to like/unlike them.
Displaying like-count (no. of users liked) in each question.

@todi-2000 I am working on this new feature

Add a bot to moderate the issue request and the feature request

Is your feature request related to a problem? Please describe.
This bot would help a first time contributor so that that contributor can follow this project's contribution guidelines.We can link our issue template, pull request template and code of conduct here.It will contain newIssue Welcome comment, newPR Welcome comment, firstPR welcome comment,etc.

We can use a GitHub App built with probot that welcomes new users when they open their first issue. You can use this welcome message to provide links to resources like the contributing guidelines, code of conduct, etc. It should be located in a .github/config.yml

Demo 1

Demo 2

Reamde Updation

Currently, the readme is not having a getting started guide so a beginner will find it difficult to contribute to the project.
Also, I wish to add badges which will keep real-time track of pull request opened, closed, issues open and closed so it will use for you to manage
So can I go for it @todi-2000

Fix .gitignore

Fix .gitignore to ignore unwanted files

The .gitignore file is erroneous and pollutants are allowed persist in the repository.

Fixes

  • Update and create more .gitignore files as needed to stop certain files/folders from being committed to the repository.
  • Remove the pollutants from Git cache such that newer commits don't include them.

If approved, I would like to work on this issue.

Add OAuth

Explanation

Add OAuth so that users can attempt quiz by signing up from their social accounts.

Social Accounts should include:

  • Gmail
  • Facebook
  • Twitter

Automatically level increment for added question

Is your feature request related to a problem? Please describe.
Currently, whenever a question is added by admin, the level requires to be added manually and the admin must also ensure that every time a new question is added the level is 1+level of previous question. This makes it a bit tedious for the admin.

Describe the solution you'd like
The level field of Questionmodel can be changed to autoincrement and a default value can be set for first question.

Reset password feature using Django contrib.auth

A Forgot/Reset password feature can be implemented which will allow the user to enter his/her email, and receive a unique password reset link(actually sent to the cli for development purposes) which will show the form to reset the password.

@todi-2000 I was thinking of working on this issue if you agree to go forward with the idea.

Display messages while user authentication

If user registers with username which already exists, It should display a info message states it's been taken.

When signing up, If password and confirm_password doesn't match, error message should be displayed.

And displaying success messages after successful sign up, login and logout.

Bug report

Describe the bug
Not able to give input in password section.

To Reproduce
Steps to reproduce the behavior:

    • Fork and Clone the repo:
git clone https://github.com/todi-2000/Quiz-App.git
    • Create virtual environment:
python -m venv env
env\Scripts\activate
    • Install dependencies using
pip install -r requirements.txt
    • Change Directory:
cd quizz
    • Make migrations using
python manage.py makemigrations
    • Migrate Database
python manage.py migrate
    • Create a superuser
python manage.py createsuperuser

Expected behavior
The terminal should take input for password.

Actual behavior
The user is unable to enter any sort of element in front of password.

Screenshots
Capture

Add Timer

Explanation

Add Timer limit of 2 minutes for each question and if not attempted then proceed to next question.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.