An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          


CoderQuiz

CoderQuiz


Exam prep quiz for the Austrian LAP Applikationsentwicklung-Coding.

DSGVO · IT law · IT security - through a developer's lens.


License
100 questions
DE / HU
No dependencies
CI



CoderQuiz setup screen

---

## 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).