{"id":31647635,"url":"https://github.com/marcdziersan/gefahrenreader","last_synced_at":"2025-10-07T06:44:34.977Z","repository":{"id":315135774,"uuid":"1058259267","full_name":"marcdziersan/GefahrenReader","owner":"marcdziersan","description":"Ein schnelles, offline nutzbares **Lern‑ und Nachschlage‑Tool**. ","archived":false,"fork":false,"pushed_at":"2025-09-16T21:30:52.000Z","size":2497,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-16T23:50:42.367Z","etag":null,"topics":["adr","firefighting","hazmat","java","kemler","swing","training","un-numbers"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marcdziersan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-16T21:04:27.000Z","updated_at":"2025-09-16T21:30:55.000Z","dependencies_parsed_at":"2025-09-16T23:50:45.133Z","dependency_job_id":"24903c7c-9443-44ae-86a4-b08c0eed7645","html_url":"https://github.com/marcdziersan/GefahrenReader","commit_stats":null,"previous_names":["marcdziersan/gefahrenreader"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/marcdziersan/GefahrenReader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcdziersan%2FGefahrenReader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcdziersan%2FGefahrenReader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcdziersan%2FGefahrenReader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcdziersan%2FGefahrenReader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcdziersan","download_url":"https://codeload.github.com/marcdziersan/GefahrenReader/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcdziersan%2FGefahrenReader/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278734434,"owners_count":26036404,"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","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["adr","firefighting","hazmat","java","kemler","swing","training","un-numbers"],"created_at":"2025-10-07T06:44:30.090Z","updated_at":"2025-10-07T06:44:34.971Z","avatar_url":"https://github.com/marcdziersan.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# GefahrenReader 🚒 – UN‑Nummern, Klassen \u0026 Gefahrenzahlen (Kemler)\n\nEin schnelles, offline nutzbares **Lern‑ und Nachschlage‑Tool**. \nLinks navigierst du **nach Klasse** oder **nach UN‑Bereich**, rechts siehst du die Stoffliste mit **UN‑Nummer**, **Gefahrenzahl**, **Klasse** und **Bezeichnung** – per Klick / Doppelklick öffnet sich ein kompaktes **Detail‑Popup**.\n\n![Hero](wall.png)\n\n\u003e Fokus: **einfach**, **übersichtlich**, **ohne Internet**\n\n---\n\n## ✨ Funktionen\n\n- **Zwei Navigationspfade**\n  - *Nach Klasse* → z. B. `1.1D`, `2.1`, `3`, `8`, `9` …\n  - *Nach UN‑Bereich* → `0000–0099`, `0100–0199`, … `9000–9006`\n- **Tabelle** mit: **UN‑Nummer**, **Gefahrenzahl (Kemler)**, **Klasse**, **Bezeichnung**, **Hinweis**\n- **Details‑Popup** (Doppelklick/Schaltfläche) mit allen Infos\n- **UN‑Suche** (Teil‑ und Volltreffer)\n- **Dark‑Nimbus UI** mit Akzentfarbe **#00D2FF** (barrierearm, lesefreundlich)\n- **Keinerlei externe Libraries** – reine Standard‑JDK‑Swing‑App\n\n---\n\n## 📦 Daten \u0026 Struktur\n\nLege die App neben einen `data/`‑Ordner (oder in denselben Ordner), der mind. Folgendes enthält:\n\n```\ndata/\n├─ index.json                 # Index aller Bereichsdateien\n├─ gefahrenzahl.json          # ADR-valide Gefahrnummern inkl. X-Varianten\n├─ 0000-0099.json             # Bereichsdateien …\n├─ 0100-0199.json\n├─ …\n└─ 9000-9006.json\n```\n\n**Schema der Bereichsdateien** (Auszug):\n```json\n{\n  \"title\": \"UN-Nummern 2705–2799\",\n  \"generated\": \"YYYY-MM-DD\",\n  \"count\": 76,\n  \"columns\": [\"un_number\", \"gefahrenzahl\", \"klasse\", \"bezeichnung\"],\n  \"rows\": [\n    { \"un_number\": \"2705\", \"gefahrenzahl\": \"30\", \"klasse\": \"3\", \"bezeichnung\": \"…\" }\n  ]\n}\n```\n\n**`gefahrenzahl.json`** liefert die Kurzbeschreibungen zu Kemler‑Codes (z. B. `33 = leicht entzündbare Flüssigkeit`).  \n**Optional**: `missing_gefahrenzahl.json` (Liste aller Fälle ohne Kemlerzahl für Qualitätskontrolle).\n\n\u003e ⚠️ **Datenquelle = JSON**: Wenn dort `gefahrenzahl` „–“ war, steht im JSON `null`. Das ist oft korrekt (z. B. Klasse 1, nicht ADR‑pflichtig, Beförderung verboten, Sonderfälle).\n\n---\n\n## 🛠️ Build \u0026 Start\n\nVoraussetzung: **Java 17+**\n\n```bash\n# kompilieren\njavac *.java\n\n# starten\njava GefahrenReaderApp\n```\n\nBeim Start sucht die App `./data/index.json` oder `./index.json`. Falls beides fehlt, wählst du den Ordner per Dialog.\n\n---\n\n## 🧭 Bedienung\n\n1. **Links**: Navigation im **JTree** öffnen → *Klasse* oder *UN‑Bereich* wählen.  \n2. **Rechts**: Stoffliste ansehen; **Doppelklick** oder **Details…** öffnet das Popup.  \n3. **Suche**: UN‑Nummer unten eingeben → Liste wird gefiltert; **Reset** setzt zurück.\n\nTastentipps: `Enter` in der Suche startet die Filterung; Markierung + `Enter` entspricht Doppelklick (Details).\n\n---\n\n## 📸 Screenshots\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"./screen_1.png\"\u003e\u003cimg src=\"./screen_1.png\" alt=\"Navigation nach Klasse\" width=\"32%\"\u003e\u003c/a\u003e\n  \u003ca href=\"./screen_2.png\"\u003e\u003cimg src=\"./screen_2.png\" alt=\"Stoffliste \u0026 Suche\" width=\"32%\"\u003e\u003c/a\u003e\n  \u003ca href=\"./screen_3.png\"\u003e\u003cimg src=\"./screen_3.png\" alt=\"Details-Popup\" width=\"32%\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## 🧠 Hintergrundwissen (kurz \u0026 praxisnah)\n\n### UN‑Nummern (Stoffnummern)\nVierstellige Identnummern für gefährliche Güter im Transport, herausgegeben durch das UN‑Expertenkomitee („Orange Book“). Sie dienen **weltweit** der eindeutigen Zuordnung auf Warntafeln, Dokumenten und in Einsatz‑/Notfallkarten. Historisch gewachsen seit Mitte des 20. Jahrhunderts – Ziel: **einheitliche** Kennzeichnung, **schnellere** Gefahreneinschätzung, **bessere** Einsatz‑Sicherheit.\n\n### Gefahrgutklassen (1–9)\nEinteilung nach **Hauptgefahr** (z. B. `1 = Explosivstoffe`, `2 = Gase`, `3 = entzündbare Flüssigkeiten`, `5.1 = oxidierend`, `6.1 = giftig`, `7 = radioaktiv`, `8 = ätzend`, `9 = verschiedene/umweltgefährdend`).  \nKlasse 1 nutzt zusätzlich **Unterklassen** (1.1–1.6) und **Verträglichkeitsgruppen** (A–S), z. B. `1.1D`.\n\n### Gefahrenzahl / Kemler‑Zahl\nObere Zahl auf der **orangefarbenen Warntafel**: **2–3 Ziffern**, beschreibt Art/Intensität der Gefahr.  \nBeispiele: `30 = entzündbare Flüssigkeit (23–61 °C)`, `33 = leicht entzündbare Flüssigkeit (\u003c 23 °C)`, `80 = ätzend`, `90 = verschiedene/umweltgefährdend`.\n\n\u003cdiv style=\"border:1px solid #444; padding:10px; border-radius:8px; background:#1e1f25; color:#e6e6e6; margin:1em 0;\"\u003e\n  \u003cb\u003eINFO‑BOX: „X – Wasser nix“\u003c/b\u003e\u003cbr/\u003e\n  Ein vorangestelltes \u003cb\u003eX\u003c/b\u003e zeigt eine \u003ci\u003egefährliche Reaktion mit Wasser\u003c/i\u003e an \u0026rarr; \u003cb\u003ekein Wasser einsetzen\u003c/b\u003e.\n  \u003cul style=\"margin:6px 0 0 1.2em;\"\u003e\n    \u003cli\u003e\u003ccode\u003e33 / 1203\u003c/code\u003e (Benzin): \u003cb\u003eohne X\u003c/b\u003e – brennbar, aber keine Wasser‑Reaktionsgefahr.\u003c/li\u003e\n    \u003cli\u003e\u003ccode\u003eX423 / 1402\u003c/code\u003e (Calciumcarbid): \u003cb\u003emit X\u003c/b\u003e – Wasser → Acetylenbildung (entzündbar).\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/div\u003e\n\n**Warntafel‑Kombination:** oben **Gefahrenzahl**, unten **UN‑Nummer** (z. B. **33 / 1203**).\n\n---\n\n## ⚖️ Lizenz \u0026 Haftung\n\nBeispiel‑/Schulungssoftware, **ohne Gewähr**. Nutzung auf eigene Verantwortung.  \nIm Einsatz stets die **amtlichen Vorschriften** und **Einsatzbefehle** beachten.\n\n---\n\n\u003csmall\u003eStand: 2025-09-16\u003c/small\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcdziersan%2Fgefahrenreader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcdziersan%2Fgefahrenreader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcdziersan%2Fgefahrenreader/lists"}