{"id":20581546,"url":"https://github.com/naveeng2402/quiz-app","last_synced_at":"2026-05-18T15:03:01.002Z","repository":{"id":54683417,"uuid":"327295874","full_name":"naveeng2402/Quiz-App","owner":"naveeng2402","description":"Dynamic quiz app using Json and HTML. This is coded in python using pyqt5 framework ","archived":false,"fork":false,"pushed_at":"2022-02-03T11:56:07.000Z","size":5667,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-16T22:42:55.850Z","etag":null,"topics":["explaination","html","json","naveen","naveeng2402","plaintext","pyqt5","pyqt5-desktop-application","python","python3","quiz","scores"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/naveeng2402.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-01-06T11:50:27.000Z","updated_at":"2023-10-09T04:03:43.000Z","dependencies_parsed_at":"2022-08-14T00:00:20.604Z","dependency_job_id":null,"html_url":"https://github.com/naveeng2402/Quiz-App","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naveeng2402%2FQuiz-App","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naveeng2402%2FQuiz-App/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naveeng2402%2FQuiz-App/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naveeng2402%2FQuiz-App/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/naveeng2402","download_url":"https://codeload.github.com/naveeng2402/Quiz-App/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242206036,"owners_count":20089255,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["explaination","html","json","naveen","naveeng2402","plaintext","pyqt5","pyqt5-desktop-application","python","python3","quiz","scores"],"created_at":"2024-11-16T06:29:18.851Z","updated_at":"2026-05-18T15:02:55.956Z","avatar_url":"https://github.com/naveeng2402.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"**Check out Releases for executables**\n**The Linux binary is tested ony in ubuntu 20.04LTS**\nyou can create your distributable using pyinstaller\n\n\nTable of Contents\n================\n\n   * [Table of Contents](#table-of-contents)\n   * [Setting up](#setting-up)\n      * [Pre Requisites](#pre-requisites)\n      * [Linux](#linux)\n      * [Windows](#windows)\n   * [Usage(Setting up the files)](#usagesetting-up-the-files)\n      * [Editing data.json](#editing-datajson)\n         * [Welcome](#welcome)\n         * [Teams](#teams)\n         * [GeneralRules](#generalrules)\n         * [Rounds](#rounds)\n      * [Editing qns.json](#editing-qnsjson)\n      * [Editing media files](#editing-media-files)\n   * [Usage](#usage)\n      * [Welcome](#welcome-1)\n      * [Teams](#teams-1)\n      * [General Rules](#general-rules)\n      * [App](#app)\n   * [TOOLS](#tools)\n\n\n\n\n**Note:** For instructions related HTML refer TOOLS section\n\n***\n***\n# Setting up\n## Pre Requisites\n    Any good code editor or IDE\n        recomended : VS Code\n## Linux\n    Move the Quiz file from the dist folder to the root folder and execute it in the terminal\n\n```bash\n./main\n```\n\n## Windows\n    Move the main.exe file from the dist folder to the root folder and execute it\n\n\n# Usage(Setting up the files)\n    There are two main files for the user to edit in order to get desired results\n        - Json/data.json\n        - Json/qns.json\n    Examples are included in Json/examples folder for referance\n    \n\n## Editing data.json\n    This file is responsible for everything other than the question's content. From deciding the teams to organising rounds everything is done here\n\nThe file structure:\n        \n        1. Welcome\n        2. Teams    \n        3. GeneralRules\n        4. Rounds\n\n### Welcome\n    This part has two values one is Topic and other is Hosts\n\nExample:\n```JSON\n    \"Welcome\":  \n        {\n            \"Topic\": \"Engineering Physics\",\n            \"Hosts\": [\"Naveen\", \"Karthi\", \"vicky\"]\n        }\n```\nHere **Topic** is a string and **Hosts** is a json array\n\n### Teams\n    This part also has two values, one is Team_Names and other is Players_NO\n\nExample:\n```JSON\n    \"Teams\":\n        {\n            \"Team_Names\"   : [\"Team A\", \"Team B\", \"Team C\", \"Team D\"],\n            \"Players_NO\"   : 10\n        }\n```\nHere **Team_Names** is a list of team names and **Players_NO** is a integer denoting *Number of players in each team*\n\n### GeneralRules\n    This part has only one value \n    it takes either HTML or plain text as input\n\nExample:\n```JSON\n    \"GeneralRules\": \n    \"General Rules\"\n```\nor\n```JSON\n    \"GeneralRules\": \n    \"\u003cp style='text-align: center;font-size:100px'\u003e\u003cstrong\u003eGeneral Rules\u003c/strong\u003e\u003c/p\u003e\"\n```\nHere **GeneralRules** is the one that is displayed in general rules\n\n\n### Rounds\n    This part has n number of values, each having 6 values named nos, rules, tick, plus, minus, time\n\nExample:\n```JSON\n    \"Rounds\":\n        {\n            \"Round 1\":\n                {\n                    \"nos\"   : 1,\n                    \"rules\" : \"\u003cp style='text-align: center;font-size:50px'\u003eRules for Round 1\u003c/p\u003e\",\n                    \"tick\"  : 50,\n                    \"plus\"  : 25,\n                    \"minus\" : 0,\n                    \"time\"  : 10\n                },\n            ...\n            ...\n            ...\n        }\n```\nHere there can be n number of rounds each having 6 values\n\n**nos** is a int refering *Number of Questions in each round*\n\n **rules** may be a plain text or HTML *Defining the rules and scoring conventions of the round*\n\n **tick** is a int that denotes *The points that will be awarded for each **correct answer** answered by the team*\n\n **plus** is also a int that denotes the *The points that will be awarded for each **Bonus answers** by a team*\n\n **minus** is also a int that denotes the *The points that will be deducted for each **Wrong answers** by a team*\n***\n ## Editing qns.json\n    This file is responsible everything related Questions. It consists of n number of \u003cRoundName\u003e_Q\u003cNo\u003e each having four values named content, options, answer, explain.\n\nExample:\n```Json\n    \"Round_1_Q1\" : \n        {\n            \"content\" : \"\u003ch1\u003eQ1\\n\u003c/span\u003e\\n\u003c/h1\u003e\",\n            \"options\" : [\"a1\", \"b1\", \"c1\"],\n            \"answer\"  : \"c1\",\n            \"explain\" : \"Explain 1\"\n        },\n    ...\n    ...\n    ...\n```\nHere **content** may be a plaintext or HTML which will be *Displayed as the Question*\n\n**options** is a list of n str elements which will be *Displayed as Options*\n\n**answer** is a str that is in options *which is the answer*\n\n**explain** may be a plaintext or HTML which will be *Displayed as the Explaination* if not possible please set it to a emptystring\n\n## Editing media files\n    In this app you can change the sounds played inside it which will be played after answering the question and when time is up\n\nYou can change those sounds by replacing the appropriate audio(mp3) files in the with the same in the **Audio/** folder\n\nThe Background images can be changed by replacing the appropriate inage (jpg) files in the with the same in the **BG/** folder\n\n**Note:** Please make sure that your images are less than 20KB and you audio files are short too \n\n# Usage\n    In This part let us go through the gui part of the application. There are 4 screens in total.\n        -Welcome\n        -Teams\n        -GeneralRules\n        -App\n    Note: This is a one way app if the next screen is reched there is no way back\n\n## Welcome\n\n![Welcome Screen](Others/images/welcome.jpg)\n\nClick on **Start Quiz** to continue\n---\n\n## Teams\n\n![Teams Screen](Others/images/teams.jpg)\n\nHere enter the members of each teams and hit **Done** to continue\n---\n\n## General Rules\n![Teams Screen](Others/images/generalrules.jpg)\n\nClick on the **GOT IT!!!** to continue\n--\n\n## App\n![App Screen](Others/images/app1.jpg)\n\nThis is the screen you will use to conduct the QUIZ\n\nclick on **Start Round** to set scorings appropriate to cuurent round\n---\n\n![App Screen](Others/images/app2.jpg)\n\nThen use the navigator in the right side to move to the desired question\n---\n\n![App Screen](Others/images/app3.jpg)\n\n\nafter moving to the question, you can start the timer by clicking the **Start Timer** Button and Check if the answer is right using **Check Answer** Button after clicking it\n---\n\n![App Screen](Others/images/app4.jpg)\n\ndragging from the bottom to top you can open explaination for each question and doing it from the bottom of the app you can see the scores of individual teams\n---\n\n![App Screen](Others/images/app5.jpg)\n\nusing the top bar the scores are given manually by the hosts\n---\n\n---\n**Focus more on the content not on the boring prelim works!!!**\n---\n\n---\n\n\n# TOOLS\n\nwebsite: [Use this free online HTML Editor](https://html-online.com/editor/)\n\n![Website](Others/images/web.jpg)\n\nIn addtion to the above tool use the **Tools/Html_edit.py*** to format the html to work\n\nFor this paste the HTML in the **Tools/text.txt** file and save it, Then run the above mentioned file.\n\nThen you will be all set to add it to the Json\n\n\n***HAPPY QUIZING**\n---\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaveeng2402%2Fquiz-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnaveeng2402%2Fquiz-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaveeng2402%2Fquiz-app/lists"}