diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..00888a6 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,7 @@ +{ + "permissions": { + "allow": [ + "Read(//volumes/projects/vault-link/**)" + ] + } +} diff --git a/src/content/posts/_assets/fizika.jpg b/src/content/posts/_assets/fizika.jpg new file mode 100644 index 0000000..01a5c18 Binary files /dev/null and b/src/content/posts/_assets/fizika.jpg differ diff --git a/src/content/posts/fizika-erettsegi-practice-app.md b/src/content/posts/fizika-erettsegi-practice-app.md new file mode 100644 index 0000000..27dd1c1 --- /dev/null +++ b/src/content/posts/fizika-erettsegi-practice-app.md @@ -0,0 +1,33 @@ +--- +title: A Physics Practice App for the Hungarian Érettségi +description: A static jQuery site I built in high school to drill past exam questions. 659 questions, more than a decade of past papers, still online and still used. +date: 2026-05-28 +projectPeriod: '2017-2018' +thumbnail: + src: ./_assets/fizika.jpg + alt: Screenshot of the Fizika practice app showing topic-selection buttons over a light textured background. +tags: ['web', 'tools'] +role: Question database, frontend, backend +stack: ['jQuery', 'vanilla HTML/CSS', 'Node/Express', 'JSON', 'localStorage'] +outcome: A free practice app real students still find when they search for past érettségi physics papers +audience: general +links: + - label: Live + url: https://fizika.schmelczer.dev + - label: Source + url: https://home.schmelczer.dev/git/andras/fizika +--- + +I needed it. In my last year of high school I was about to sit the *emelt szintű* (advanced-level) physics érettségi, and the practice material I could find online was either paywalled or scattered across PDFs that wouldn't tell you whether your answer was right. So one evening I started typing past exam questions into a JSON file. A few weeks later I had something resembling a study tool, and a few weeks after that I had 659 questions covering more than a decade of past papers. + +The site is intentionally small. A static frontend on jQuery, four CSS files, a JSON blob of questions, a folder of scanned diagrams from the original papers. You pick a topic (*Mechanika, Hőtan, Elektromosság, Atomfizika*) or hunt down a specific year's exam, get a randomised quiz, answer, and the page colours each row green or red. Past results sit in `localStorage`, because the audience was high schoolers; account-less was the privacy answer. + +It outgrew Firebase eventually. I moved the data to a small Express backend so I could keep editing questions without a paid plan, with a JSON file and an image folder as the storage layer. The admin routes have no auth; instead, the service stays off the public internet and I edit through an SSH-forwarded localhost. Fine for a one-person CMS, terrible advice for anything with multiple editors. + +What I'd change if I were starting it now: + +- **Astro instead of jQuery plus a Node server.** The whole thing could be one static site that re-renders on push. No backend, no CSP fiddling, no Docker. +- **Markdown source, not a hand-edited JSON file.** Editing questions in JSON is fine until you forget a comma at 1am and the site stops loading. +- **A real licence note on the question text.** The papers are public exam material, but it's worth saying so somewhere on the page. + +It's been online in some form for eight years. Every spring I get a few emails from students asking whether I'll add the latest year's paper. I usually do, eventually. That's a feedback loop I didn't design for and don't want to lose. diff --git a/src/content/projects/_assets/fizika.jpg b/src/content/projects/_assets/fizika.jpg new file mode 100644 index 0000000..01a5c18 Binary files /dev/null and b/src/content/projects/_assets/fizika.jpg differ diff --git a/src/content/projects/fizika.md b/src/content/projects/fizika.md new file mode 100644 index 0000000..e93a957 --- /dev/null +++ b/src/content/projects/fizika.md @@ -0,0 +1,17 @@ +--- +title: Fizika +description: A static practice app for the Hungarian advanced-level physics érettségi. 659 past-paper questions, results in localStorage, eight years online. +thumbnail: + src: ./_assets/fizika.jpg + alt: Screenshot of the Fizika practice app showing topic-selection buttons. +period: '2017-2018' +sortDate: 2018-05-01 +technologies: ['jQuery', 'HTML/CSS', 'Node/Express', 'JSON', 'localStorage'] +selected: false +essay: fizika-erettsegi-practice-app +links: + - label: Live + url: https://fizika.schmelczer.dev + - label: Source + url: https://home.schmelczer.dev/git/andras/fizika +---