Skip to content

Beitragen

I767513 edited this page May 10, 2026 · 2 revisions

Beitragen

Danke für dein Interesse am Projekt! Beiträge sind herzlich willkommen – egal ob Bugfix, Feature oder Dokumentation.


Inhaltsverzeichnis

  1. Bugs melden
  2. Features vorschlagen
  3. Code beitragen
  4. Code Style
  5. Commit-Konventionen
  6. Pull Request Checkliste

1. Bugs melden

Bitte nutze GitHub Issues und gib möglichst folgende Informationen an:

**Beschreibung**
Was passiert, was sollte passieren?

**Schritte zur Reproduktion**
1. ...
2. ...

**Umgebung**
- iOS-Version:
- iPhone-Modell:
- App-Version:

**Screenshot / Logs** (optional)

Alternativ per E-Mail: delta.corelabs@gmail.com


2. Features vorschlagen

Feature-Requests als Issue mit dem Label enhancement eröffnen. Kurze Beschreibung des gewünschten Verhaltens und warum es nützlich wäre reicht aus.


3. Code beitragen

Workflow

1. Fork des Repositories anlegen
        │
        ▼
2. Feature-Branch anlegen
   git checkout -b feature/mein-feature
        │
        ▼
3. Änderungen implementieren & committen
        │
        ▼
4. Push in deinen Fork
   git push origin feature/mein-feature
        │
        ▼
5. Pull Request gegen main öffnen

Projekt einrichten

Siehe Einrichtung für die vollständige Anleitung zum lokalen Setup.

Branches

Branch Zweck
main Stable, entspricht dem aktuellen App Store Build
feature/* Neue Features
fix/* Bugfixes
docs/* Dokumentation & Website

4. Code Style

Das Projekt verwendet keinen automatischen Formatter, orientiert sich aber an folgenden Konventionen:

Swift

  • Standard Swift API Design Guidelines
  • camelCase für Variablen und Funktionen, PascalCase für Typen
  • @MainActor für alle Views und ViewModels
  • Keine Force-Unwraps (!) außer in TestCode
  • Kommentare nur wo das Warum nicht offensichtlich ist (nicht das Was)

SwiftUI

  • Views so klein wie möglich halten, Logik in Services auslagern
  • @State nur für lokalen, flüchtigen UI-Zustand
  • Keine Business Logic in Views

Commits

  • Kleinere, atomare Commits bevorzugen
  • Jeder Commit sollte buildbar sein

5. Commit-Konventionen

Das Projekt nutzt Conventional Commits:

<typ>: <kurze Beschreibung>

[optionaler Body]
Typ Wann
feat Neues Feature
fix Bugfix
docs Nur Dokumentation
refactor Code-Umbau ohne Funktionsänderung
chore Build-System, Abhängigkeiten, Konfiguration
test Tests hinzufügen oder korrigieren

Beispiele:

feat: Komplikation für watchOS Ultra hinzugefügt
fix: Abfahrtszeiten bei Mitternacht werden korrekt berechnet
docs: Architektur-Diagramm aktualisiert
chore: Apollo iOS auf 2.1.0 aktualisiert

6. Pull Request Checkliste

Bevor du einen PR öffnest:

  • Code baut ohne Warnings (⌘B in Xcode)
  • Alle drei Targets bauen (Mannheim ÖPNV, RNVWatch, RNVLiveActivity)
  • Kein print() oder Debug-Code im PR
  • Keine Credentials oder Secrets.xcconfig eingecheckt
  • PR-Beschreibung erklärt was und warum geändert wurde
  • Screenshots beigefügt (bei UI-Änderungen)

Lizenz

Mit deinem Beitrag stimmst du zu, dass dein Code unter der MIT-Lizenz veröffentlicht wird.

Clone this wiki locally