Portability review: what is Bavarian, what is German, what is universal (tracking)
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 62/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- csharp, sqlite
- Lĩnh vực
- backend-api-design, documentation
Hướng nghiên cứu
Bắt đầu bằng việc xem xét main tại commit ecb341b và các phát hiện được tham chiếu (#398–#404, #462); issue mô tả phạm vi và kết luận của đợt đánh giá tính khả chuyển. Đối chiếu các vị trí mã nguồn được trích dẫn, bao gồm src/ và IncidentDataDialogView.axaml:26, với các phát hiện đã được ghi nhận. Công việc được xem là hoàn tất khi các giả định về tính khả chuyển và hai mô-đun miền không khả chuyển được tài liệu hóa chính xác; issue không chỉ định một tệp cụ thể cần thay đổi.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
A review of main (ecb341b) asking three questions: how much of the implemented logic works for another Bavarian Feuerwehr, how much works elsewhere in Germany, and — setting the missing i18n aside — how much would work anywhere. This issue is the frame; the individual findings are filed separately below.
The short answer
Another Bavarian brigade: everything, unchanged. There is no catalogue of Bavarian practice to port. MasterDataStore.GetOrCreate seeds nothing and StammdatenCatalogue never rejects an unknown value, so roles, vehicle status, Trupp types, vehicles, call signs, Wachen, checklist contents and links are all user-supplied. IncidentNumber is eighteen lines whose only rule is non-blank — the B 1.2 JJMMTT lfd.Nr. scheme exists solely as a placeholder hint in IncidentDataDialogView.axaml:26 and a line in the README. There is no Dienstgrad model, no Landkreis, no Kreisbrandinspektion, no Alarmstufen, no AAO, no FMS status enum, no vehicle-type taxonomy and no Funkrufname grammar anywhere in src/.
Rest of Germany: everything, and one word is wrong. FwDV 7 and the AGW behind the CO bands are federal. The one Bavarian-but-not-German artefact is the label "ILS" (#400).
Anywhere else, ignoring language: the chassis travels intact — the append-only ETB with correction-by-annotation, role handover, tasks, attachments, links, checklists, the reminder timers, the file-per-incident format with its 21 migrations, offline multi-device sync, and the whole persistence layer. None of it keys off German law; the evidentiary model is general legal-record practice.
Two domain modules do not travel, and they are the only two: Atemschutz and CO-Messprotokoll.
Filed
Defects in Bavaria today, independent of any export ambition:
- #398 —
"CSA-Trupp"is a magic string; renaming the Trupp type silently drops the three-person crew rule - #399 — the Sicherheitstrupp is not modelled at all
Germany-wide:
- #400 — "ILS" is hardcoded, including in the ETB entry written to the file
- #401 — the address model cannot hold a house number, PLZ or Ort
- #462 — the Einsatznummer follows the Bavarian ILS scheme (
B 1.2 JJMMTT lfd.Nr.) only as a placeholder; other Leitstellen number differently, so the format should be configurable and pre-filled
Outside the German doctrine:
- #402 — the retreat rule is a flat 50 bar; the Einstiegsdruck never enters it, and bar is a literal not a unit
- #403 — the ppm bands are pegged to the German AGW and the floor labels to EG/OG/UG
- #404 — the PDF is A4-only, with column widths tuned to hardcoded German headers
Added as comments to existing issues rather than filed fresh:
- #350 / #299 — the domain composes German ETB prose that is persisted into the file, which makes it a data-model question and not only a display one
- #397 — the master-data store has no version marker, so a renamed column or settings key would silently reset an install rather than fail
Not filed, deliberately
ForceUnit's shape — StrengthText is $"{Zf}/{Officer}/{Mannschaft}/{Total}" with exactly two leadership tiers baked into the aggregate — has no equivalent in services that count "engine with a crew of four". The right answer is almost certainly to render the four integers through a formatter rather than reshape the aggregate, since those integers are already a schema and sync-wire contract. That is a sub-point of #299 and needs no issue of its own until someone actually wants it.
Two incidental findings, neither worth an issue: the README's "Sirene" (README.md:68) does not exist — the retreat alarm is a clip repeated every 15 s, which #81 decided deliberately — and the spoken cues are four pre-recorded German WAVs rather than TTS, so localising audio means re-recording, not changing a locale string. The German words are not in the repo as text at all, only as XML comments on AlarmSound.
Why this is worth having written down
Nothing here argues Lagebuch should target other countries. The useful output is the opposite: it shows that the Bavarian assumptions people would expect to be baked in mostly are not, and that the ones that genuinely are — a flat Rückzugsdruck, AGW ppm bands, EG/OG/UG, a Trupp type identified by its German name — are in two modules and a handful of constants. Anyone reading Domain should know which constants are universal and which are local, and right now only CoSeverity says so in its own doc comment.
- Ngôn ngữ chính
- C#
- Star
- 1
- Fork
- 3
- Merge trung bình
- 4 giờ 49 phút
- Pull request đã merge (30 ngày)
- 177
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của CodeForFire/lagebuch
-
Stammdaten: in the Checkliste editor the PFLICHT header is not aligned with its columnCó thể đã có người làm @Saad-elnagar đã nhận 1 ngày trước. Đang mởbug ux
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
CodeForFire/lagebuch#714 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Stammdaten: on a phone the Fahrzeuge editor squeezes Wache and Funkrufname to nothingCó thể đã có người làm @Saad-elnagar đã nhận 1 ngày trước. Đang mởbug ux
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
CodeForFire/lagebuch#713 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
CodeForFire/lagebuch#349 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
CodeForFire/lagebuch#348 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
good first issue ux
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 91/100
CodeForFire/lagebuch#347 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của CodeForFire/lagebuch
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
AvaloniaUI/Avalonia#22568 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
[bug] 截图失败日志冲爆硬盘Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 63/100
babalae/better-genshin-impact#3846 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
lugassawan/swe-workbench#823 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
microsoft/fluentui-blazor#5518 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
devtools
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày