CoderLAP is a study project for the Austrian LAP exam in
Applikationsentwicklung - Coding.
This project turns the official topic catalog into a structured knowledge base with:
- German folder and file names
- bilingual content: German (default) and Hungarian
235registered topic documents, all translated to German (README.de.md)- clean, visual-first Markdown documents
- explicit source lists at the end of each topic
- a working static site generator with i18n support
- generated bilingual search terms with shorthand alias support
- module-level print packs for combined teacher-friendly exports
- live restricted-access delivery at
coderlap.com - static site default language: German at
/, Hungarian at/hu/
German is the public default language of the generated site. Hungarian remains the canonical source corpus used to maintain the content base.
The project structure is based on:
themenkatalog-applikationsentwicklung-coding-v2-2024.pdf
The canonical learning content remains the existing Hungarian topic README.md
corpus, with German translation sidecars in README.de.md. For future indexing,
translation mapping, and site-building, the project now also includes:
LAP_CONTENT_REGISTRY.jsonLAP_CONTENT_REGISTRY.csv
See CONTRIBUTING.md for content and contribution rules, and release notes for published milestones.
The root contains:
18main topic folders235registered topic documents (subtopics + module overviews)- one
README.mdper subtopic folder as the canonical Hungarian source file - one
README.de.mdtranslation sidecar per subtopic folder - generated registry files for all canonical topic documents
- release notes under
docs/releases/and public images underdocs/assets/
Other documents under docs/ and local agent settings are ignored. Keep
planning notes, deployment credentials and machine-specific details outside Git.
Example:
01_Grundlagen_in_der_Informationstechnik/
01_Zeichensatz_ASCII/
README.md
Completed so far:
- full topic folder structure created
- contribution rules documented in CONTRIBUTING.md
- main topic
01_Grundlagen_in_der_Informationstechnikcompleted 7 / 7subtopic documents created for topic01- main topic
02_Betriebssysteme_und_Softwarecompleted 10 / 10subtopic documents created for topic02- main topic
03_Betreuung_von_mobiler_Hardwarecompleted 6 / 6subtopic documents created for topic03- main topic
04_Technische_Dokumentation_Projektarbeit_Schulungencompleted 6 / 6subtopic documents created for topic04- main topic
05_Gesetzliche_Bestimmungencompleted 16 / 16subtopic documents created for topic05- main topic
06_Netzwerkdienstecompleted 13 / 13subtopic documents created for topic06- main topic
07_IT_Security_und_Betriebssicherheitcompleted 8 / 8subtopic documents created for topic07- main topic
08_Informatik_und_Gesellschaftcompleted 11 / 11subtopic documents created for topic08- main topic
09_Ergonomischer_Arbeitsplatzcompleted 6 / 6subtopic documents created for topic09- main topic
10_Fachberatung_und_Planungcompleted 5 / 5subtopic documents created for topic10- main topic
11_Informatikcompleted 43 / 43subtopic documents created for topic11- topic
11was completed in two phases:01-21and22-43 - main topic
12_Projektmanagementcompleted 20 / 20subtopic documents created for topic12- main topic
13_Projektmethoden_und_Toolscompleted 18 / 18subtopic documents created for topic13- main topic
14_Qualitaetssicherungcompleted 7 / 7subtopic documents created for topic14- main topic
15_Grundkenntnisse_des_Programmierenscompleted 20 / 20subtopic documents created for topic15- main topic
16_Datenbanken_Datenmodelle_Datenstrukturencompleted 19 / 19subtopic documents created for topic16- main topic
17_Systementwicklung_und_Testkonzeptecompleted 13 / 13subtopic documents created for topic17- main topic
18_Uebungsbeispielcompleted 5 / 5subtopic documents created for topic18- module overview (
LAP-18-00) and practical reference solution (LAP-18-06) registered under18_Uebungsbeispiel/ - total registered topic documents:
235 - stable metadata registry generated for all
235canonical topic documents - i18n infrastructure complete: German (default at
/) and Hungarian (/hu/) - all
235topic documents translated to German asREADME.de.md - static site generator built with Jinja2, producing bilingual output to
dist/ - module-level print pack pages generated for all
18modules - restricted live delivery active at
coderlap.com - GitHub-ready active working copy; its absolute local path is machine-specific
Each topic document should be:
- maintained from Hungarian canonical source content, with German translation sidecars for the live frontend
- practical and exam-oriented
- easy to scan quickly
- visually structured with headings, lists, and tables
- backed by modern, trustworthy sources
Preferred source types:
- official documentation
- standards bodies
- official legal and government sources
- widely trusted technical references
Avoid:
- outdated summaries
- random blogs as primary references
- low-quality tutorial sites
The default topic format is Markdown-first and designed for later web reuse.
Typical sections include:
- quick summary
- visual overview
- core explanation
- comparison or distinction section
- exam-ready wording
- self-check questions
- source list
Useful parts of the architecture plan have already been adopted without restructuring the finished corpus:
- Markdown remains the source of truth
- the current numbered German folder tree remains unchanged
- stable IDs are provided through the generated content registry
- repo hygiene and deployment planning are in place for public-safe GitHub visibility
- the bilingual static site already ships from the current repository
What was deliberately deferred:
- rewriting all topic files with front matter
- migrating to
content/huandcontent/de - building a CMS, database-backed workflow, or heavier validation layer beyond the current static pipeline
Keep the Markdown corpus stable and review-ready.Done.Continue from a GitHub-ready local clone.Done.Add i18n-ready structure on top of the registry and current Markdown files.Done.Create translated variants.Done — all235topics translated to German.Build a simple HTML/CSS/JS frontend for browsing the full catalog.Done.Deploy the static result through Caddy onDone.coderlap.comwith a single clean delivery path.- Continue with operational hardening, print workflow polish, and maintenance improvements without changing the static-first architecture.
Use Python 3.11 or newer. CI uses Python 3.11; the Markdown 3.11 series no longer supports Python 3.10.
Install dependencies (once per machine):
pip install -r requirements.txtBuild the site:
python scripts/build_site.pyThe generated static frontend is written to dist/ (git-ignored).
The shared CoderLAP / CoderQuiz / CoderCoaster header and footer are maintained
in site/assets/css/workshop-frame.css. CoderQuiz and CoderCoaster keep matching
copies at assets/workshop-frame.css; update all three together and compare
their hashes. There is no shared runtime package or CDN.
Local Lucide navigation icons include notices in site/assets/LICENSE-Lucide.txt.
The homepage CoderQuiz link has a subtle animated border using the existing blue, Regex yellow and white color tokens, with a six-second orbit. It pauses on hover or keyboard focus and stays still when reduced motion is preferred; print keeps the plain card.
Key generated routes include:
/for the German catalog/hu/for the Hungarian catalog/module-packs/<module-slug>/for combined module print packs/hu/module-packs/<module-slug>/for Hungarian module print packs
Start a local preview server on a free local port. Example:
python -m http.server 8000 --bind 127.0.0.1 --directory distThen open http://127.0.0.1:8000/ in a browser.
If you need LAN access from another device on the same network:
python -m http.server 8000 --bind 0.0.0.0 --directory distIf port 8000 is already in use or behaves inconsistently on your machine,
retry with another free port such as 8001 and update the URL accordingly.
Run the test suite:
python -m unittest discover -s tests -v
node --test tests/*.test.cjsThe Node.js tests cover site interactions, executable learning examples and the
SV-number exercise. Self-contained console examples marked <!-- example:run -->
are read from the topic Markdown, checked against their published output, and
compared across Hungarian and German. Browser-dependent fragments are labelled
with their prerequisites and are not run as standalone Node.js examples.
The build omits the editorial test marker from the rendered learning pages.
Both dev and main pull requests run these checks in CI.
The reviewed-content release records module coverage, factual corrections and validation limits. Each topic keeps its own source list.
git clone https://github.com/goAuD/CoderLAP.git
cd CoderLAP
git checkout dev
pip install -r requirements.txt
python scripts/build_site.py
python -m http.server 8000 --bind 127.0.0.1 --directory distRead CONTRIBUTING.md, check the registry and continue within the existing numbered topic structure. Preserve German file names, Hungarian canonical content and German translations. Keep sources explicit in every topic. Use a focused feature branch and run the checks above before opening a PR.
This is a long-running working project, not just a static notes dump.
The goal is to maintain a complete, consistent, reusable exam knowledge base
that already renders as a live bilingual study site while staying easy to
maintain as Markdown.