arch(domain): split the Incident aggregate and move German ETB wording and presentation types out of Domain
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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).
- Lenguaje dominante
- C#
- Estrellas
- 1
- Forks
- 3
- Merge medio
- 4 h 49 min
- PR fusionados (30 d)
- 177
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de CodeForFire/lagebuch
-
Stammdaten: in the Checkliste editor the PFLICHT header is not aligned with its columnPosiblemente ocupada @Saad-elnagar la tomó hoy. Abiertobug ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
CodeForFire/lagebuch#714 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Stammdaten: on a phone the Fahrzeuge editor squeezes Wache and Funkrufname to nothingPosiblemente ocupada @Saad-elnagar la tomó hace 1 día. Abiertobug ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
CodeForFire/lagebuch#713 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
CodeForFire/lagebuch#405 ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
CodeForFire/lagebuch#349 ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
CodeForFire/lagebuch#348 ·
Los mantenedores suelen responder en 1 día
Todos los issues de CodeForFire/lagebuch
Issues similares
-
area: client bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
bug mcp misleading small
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
Bug Platform: Android
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
getsentry/sentry-dotnet#5764 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
microsoft/SimpleL7Proxy#287 ·
Los mantenedores suelen responder en 1 día