https://github.com/goaud/coderquiz
Exam prep quiz for Austrian LAP Applikationsentwicklung-Coding: DSGVO, IT law, IT security. Vanilla HTML/CSS/JS, no build step, no dependencies.
https://github.com/goaud/coderquiz
applikationsentwicklung austrian-law dsgvo education gdpr javascript lap privacy quiz vanilla-js
Last synced: 22 days ago
JSON representation
Exam prep quiz for Austrian LAP Applikationsentwicklung-Coding: DSGVO, IT law, IT security. Vanilla HTML/CSS/JS, no build step, no dependencies.
- Host: GitHub
- URL: https://github.com/goaud/coderquiz
- Owner: goAuD
- License: other
- Created: 2026-05-05T18:35:26.000Z (about 2 months ago)
- Default Branch: dev
- Last Pushed: 2026-05-26T06:25:25.000Z (about 1 month ago)
- Last Synced: 2026-05-26T08:25:46.767Z (about 1 month ago)
- Topics: applikationsentwicklung, austrian-law, dsgvo, education, gdpr, javascript, lap, privacy, quiz, vanilla-js
- Language: JavaScript
- Size: 186 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Roadmap: docs/ROADMAP.md
Awesome Lists containing this project
README
CoderQuiz
Exam prep quiz for the Austrian LAP Applikationsentwicklung-Coding.
DSGVO · IT law · IT security - through a developer's lens.
---
## Topics
| Section | What you will practice |
| --- | --- |
| DSGVO fundamentals | Legal bases, principles, definitions, fines |
| Data subject rights | Access, deletion, portability, objection |
| Data breaches | Notification timelines, obligations |
| Data protection duties | DPO, DPIA, processor contracts |
| Austrian law | DSG 2018, Datenschutzbehörde, national specifics |
| Copyright | UrhG, protection periods, software as a work |
| Software licenses | GPL, MIT, Apache 2.0, Creative Commons |
| IT security | XSS, CSRF, 2FA, least privilege, API security |
| DSGVO in developer practice | Password hashing, test data, SDK responsibility, dark patterns, Art. 22 automated decisions |
| E-Commerce / ECG | Imprint obligations, distance selling, withdrawal rights |
| ePrivacy / Cookies | Cookie consent, tracking rules, local storage, Google Fonts |
## Running locally
Open `index.html` directly in any modern browser. No server, no install, no build step.
```sh
# optional local HTTP server
npx serve .
```
## Adding questions
Append to the `QUESTIONS` array in `questions.js`:
```js
{
id: 101,
topic: "Section name",
question: "Question text?",
answers: ["Option A", "Option B", "Option C", "Option D"],
correct: 2, // 0-based index into answers[]
explanation: "Why this answer is correct.",
hu: { // optional Hungarian translation
question: "...",
answers: ["...", "...", "...", "..."],
explanation: "..."
}
}
```
Answers are shuffled at render time - write them in whatever order is clearest.
## Tech
- Vanilla HTML / CSS / JavaScript - no framework, no build step, no runtime dependencies
- Fisher-Yates shuffle on an index permutation (answers never mutate)
- i18n via `I18N` object in `i18n.js`; active language persisted in `localStorage`
- Topic filter and quiz progress persisted in `localStorage`
- SVG donut ring for score display
## License
Apache License 2.0 - see [LICENSE](LICENSE).