{"id":15043715,"url":"https://github.com/mawoka-myblock/classquiz","last_synced_at":"2025-10-04T10:39:06.751Z","repository":{"id":37093723,"uuid":"464887064","full_name":"mawoka-myblock/ClassQuiz","owner":"mawoka-myblock","description":"ClassQuiz is a quiz-application like Kahoot!, but open-source.","archived":false,"fork":false,"pushed_at":"2025-05-10T16:03:11.000Z","size":7804,"stargazers_count":548,"open_issues_count":61,"forks_count":111,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-05-10T17:19:16.826Z","etag":null,"topics":["edu","education","educational-software","fastapi","hacktoberfest","i18n","kahoot","ormar","socket-io","svelte","sveltekit","tailwindcss"],"latest_commit_sha":null,"homepage":"https://classquiz.de","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mawoka-myblock.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"ko_fi":"mawoka","liberapay":"Mawoka","github":"mawoka-myblock"}},"created_at":"2022-03-01T12:38:25.000Z","updated_at":"2025-05-10T15:58:47.000Z","dependencies_parsed_at":"2023-10-14T18:53:50.751Z","dependency_job_id":"a95f9472-6857-4722-85dc-3cdb5dd97f7f","html_url":"https://github.com/mawoka-myblock/ClassQuiz","commit_stats":{"total_commits":1347,"total_committers":60,"mean_commits":22.45,"dds":0.6221232368225686,"last_synced_commit":"802d6d9540639c0959e10493b522aa051d85661e"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mawoka-myblock%2FClassQuiz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mawoka-myblock%2FClassQuiz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mawoka-myblock%2FClassQuiz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mawoka-myblock%2FClassQuiz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mawoka-myblock","download_url":"https://codeload.github.com/mawoka-myblock/ClassQuiz/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254328385,"owners_count":22052632,"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":["edu","education","educational-software","fastapi","hacktoberfest","i18n","kahoot","ormar","socket-io","svelte","sveltekit","tailwindcss"],"created_at":"2024-09-24T20:49:29.046Z","updated_at":"2025-10-04T10:39:01.710Z","avatar_url":"https://github.com/mawoka-myblock.png","language":"Svelte","funding_links":["https://ko-fi.com/mawoka","https://liberapay.com/Mawoka","https://github.com/sponsors/mawoka-myblock","https://ko-fi.com/K3K3CK3ES","https://liberapay.com/Mawoka/donate"],"categories":[],"sub_categories":[],"readme":"\u003c!--\nSPDX-FileCopyrightText: 2023 Marlon W (Mawoka)\n\nSPDX-License-Identifier: MPL-2.0\n--\u003e\n\n\u003ca href=\"https://github.com/mawoka-myblock/ClassQuiz/stargazers\"\u003e\u003cimg alt=\"GitHub Repo stars\" src=\"https://img.shields.io/github/stars/mawoka-myblock/classquiz?style=for-the-badge\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/mawoka-myblock/ClassQuiz/graphs/contributors\"\u003e\u003cimg alt=\"GitHub contributors\" src=\"https://img.shields.io/github/contributors/mawoka-myblock/classquiz?color=green\u0026style=for-the-badge\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/mawoka-myblock/ClassQuiz/network/members\"\u003e\u003cimg alt=\"GitHub forks\" src=\"https://img.shields.io/github/forks/mawoka-myblock/classquiz?style=for-the-badge\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/mawoka-myblock/ClassQuiz/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc\"\u003e\u003cimg alt=\"GitHub issues\" src=\"https://img.shields.io/github/issues/mawoka-myblock/classquiz?style=for-the-badge\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/mawoka-myblock/ClassQuiz/blob/master/LICENSE\"\u003e\u003cimg alt=\"GitHub\" src=\"https://img.shields.io/github/license/mawoka-myblock/classquiz?style=for-the-badge\"\u003e\u003c/a\u003e\n\u003cimg alt=\"GitHub code size in bytes\" src=\"https://img.shields.io/github/languages/code-size/mawoka-myblock/classquiz?style=for-the-badge\"\u003e\n[![DeepSource](https://deepsource.io/gh/mawoka-myblock/ClassQuiz.svg/?label=active+issues\u0026show_trend=true\u0026token=5-2Na9HN-2CXcGkHjah_Rk09\u0026style=for-the-badge)](https://deepsource.io/gh/mawoka-myblock/ClassQuiz/)\n\u003cimg alt=\"Snky badge\" src=\"https://img.shields.io/badge/Snyk-Check-success?style=for-the-badge\"\u003e\n[![codecov](https://codecov.io/gh/mawoka-myblock/ClassQuiz/branch/master/graph/badge.svg?token=7CHK2A0AMO)](https://codecov.io/gh/mawoka-myblock/ClassQuiz)\n\n\u003cdiv align='center'\u003e\n    \u003ch2 align='center'\u003eClassQuiz\u003c/h2\u003e\n    \u003cimg src='logo.png' alt='ClassQuiz Logo' height='100px' width='100px'\u003e\n    \u003cp align='center'\u003e\n        The open-source quiz-platform!\n        \u003cbr/\u003e\n        \u003ca href='https://classquiz.de/'\u003e\u003cstrong\u003eVisit the website »\u003c/strong\u003e\u003c/a\u003e\n        \u003cbr /\u003e\n        \u003cbr /\u003e\n        \u003ca href='https://classquiz.de/docs'\u003eDocs\u003c/a\u003e\n        ·\n        \u003ca href='https://classquiz.de/account/register'\u003eRegister\u003c/a\u003e\n        ·\n        \u003ca href='https://classquiz.de/docs/self-host'\u003eSelf-Hosting\u003c/a\u003e\n        ·\n        \u003ca href='https://matrix.to/#/#classquiz:matrix.org'\u003eMatrix Space\u003c/a\u003e\n    \u003c/p\u003e\n\u003c/div\u003e\n\n\n## About ClassQuiz\n\nClassQuiz is a quiz app to learn interactively for students,\nbut open-source which is very important if it is a product for educational\npurposes.\nYou can create quizzes and play them remotely with other people.\nIt is mainly made for teachers who create a\nquiz, so students can compete with their knowledge against each other.\n\n## Try it\n\nThere is a hosted version at [classquiz.de](https://classquiz.de?utm_medium=Github\u0026utm_source=Readme). The server is\nlocated in Karlsruhe, Germany and hosted by [netcup](https://mawoka.eu/redir?token=2), so expect some latency depending\non your location.\n\n## Help/Community\n\nJoin our [Matrix Space](https://matrix.to/#/#classquiz:matrix.org) using [element](https://app.element.io)!\n\n## Donating\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/K3K3CK3ES)\n\n\u003ca href=\"https://liberapay.com/Mawoka/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/Mawoka.svg?logo=liberapay\"\u003e\u003c/a\u003e\n\n## Self-Host\n\nPlease see https://classquiz.de/docs/self-host\n\n## Development\n\nSee https://classquiz.de/docs/develop\n\n## Translation\n\nClassQuiz uses [hosted Weblate](https://hosted.weblate.org/engage/classquiz/)\n\n\n\u003ca href=\"https://hosted.weblate.org/engage/classquiz/\"\u003e\n\u003cimg src=\"https://hosted.weblate.org/widgets/classquiz/-/frontend/multi-auto.svg\" alt=\"Übersetzungsstatus\" /\u003e\n\u003c/a\u003e\n\n## Docs\n\nThe docs are online at https://classquiz.de/docs\n\n### Things to know about the structure\n\nSince this repo is a monorepo, the frontend is located in\nthe [`frontend/`](https://github.com/mawoka-myblock/ClassQuiz/tree/master/frontend)-directory.\nThe backend-project (Pipfile) is in the root, but all the code is located in\nthe [`classquiz/`](https://github.com/mawoka-myblock/ClassQuiz/tree/master/frontend)-folder.\n\n#### Tech-Stack\n\n##### Backend\n\nThe backend is made with [FastAPI](https://fastapi.tiangolo.com/) (web-framework)\n, [ormar](https://github.com/collerek/ormar/) (ORM)\n, [python-socketio](https://python-socketio.readthedocs.io/en/latest/) (realtime-communication between server and\nclient)\n\n##### Frontend\n\nThe frontend is made with [SvelteKit](https://kit.svelte.dev/) (web-framework)\nand [TailwindCSS](https://tailwindcss.com/) (Css-Framework).\n\n##### External Dependencies\n\nSelfhostable:\n\n- [Meilisearch](https://www.meilisearch.com/) (Search-Server)\n- [Caddy](https://caddyserver.com/) (Reverse Proxy)\n- [Postgres](https://www.postgresql.org/) (Database)\n- [Redis](https://redis.io/) (Cache)\n\nClosed-Source 3rd parties:\n\n- [Mapbox](https://www.mapbox.com/) (maps)\n- [hCaptcha](https://www.hcaptcha.com/) (captcha)\n\n---\n\n## License Note\n\nThis repository is licensed under the [Mozilla Public License 2.0](https://www.mozilla.org/en-US/MPL/2.0/), so you\n\n**MUST PUBLISH ANY CHANGES YOU MAKE!!!**[^1]\n\n[^1]: _I added this note, since people are stealing my software and changing it without providing the source-code. Maybe\nthey\naren't aware of this license, maybe they don't care, but I don't care, why they don't do it._ **THEY HAVE TO!**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmawoka-myblock%2Fclassquiz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmawoka-myblock%2Fclassquiz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmawoka-myblock%2Fclassquiz/lists"}