arch(domain): split the Incident aggregate and move German ETB wording and presentation types out of Domain
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ó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Start with src/LageBuch.Domain/Incident.cs, especially Rehydrate, the feature areas, and the German text noted in the issue; also read Formatting.cs and IncidentPdfSections.cs and their comments. The proposal offers several architectural directions rather than a scoped change, so first agree on one direction with maintainers. Done means that agreed refactor is implemented while preserving the aggregate's invariants and the Android build constraints.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
From the 2026-09-09 architecture review of main (35d86e1). Not urgent; a direction for when the next feature lands in Incident.
Incident (src/LageBuch.Domain/Incident.cs) is 1 112 lines with about 45 public members across ten feature areas, a 22-parameter Rehydrate (:122) that mirrors the SQLite table set, and it composes German ETB text inside the aggregate (Label :615, StatusChangeText :666, and every AppendSystemEntry literal such as "Einsatz begonnen"). Exception messages are end-user German too (:86, :643). Formatting.cs (de-DE date formats, em-dash placeholder) and IncidentPdfSections.cs (PDF section flags) are presentation concerns living in Domain.
The domain is otherwise exemplary: zero references, private setters, IReadOnlyList everywhere, invariants via EnsureOpen.
Proposal
- Split
Incidentinto partial classes per feature area (Forces, Scba, CoMeasurement, Tasks, Files, Journal) with the shared guards in the core file; or extract sub-aggregates where the feature has its own invariants (CO measurement is a good first candidate). - Route system-entry wording through a small
ISystemEntryText(or resource) so wording and locale are not Domain changes. - Replace the 22-parameter
Rehydratewith aIncidentSnapshot-style record that both the repository andSnapshotMapperbuild. - Move
FormattingandIncidentPdfSectionsto Documents/AppLogic once the Android build graph allows (the comment inIncidentPdfSections.csexplains why they are parked in Domain).
- 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
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
CodeForFire/lagebuch#405 ·
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
Tất cả issue của CodeForFire/lagebuch
Issue tương tự
-
bug effort:S P2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
nightscout/nocturne#2449 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area: client bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug mcp misleading small
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
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
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
hazeliscoding/gil-sweep#25 ·
Maintainer thường phản hồi trong vòng 1 ngày