Wir lieben es, Ideen von unseren Benutzern zu hören! Das macht diese Plattform so großartig und vielseitig. Wenn Sie eine Idee zum Beitragen haben, nehmen Sie sich bitte einen Moment Zeit, um sie mit uns zu teilen!
Das Projekt begrüßt und ist auf Beiträge von Entwicklern und Benutzern aus der Open-Source-Gemeinschaft angewiesen. Beiträge können auf verschiedene Arten erfolgen:
- Code-Patches über Pull-Requests
- Dokumentationsverbesserungen
- Fehlermeldungen und Patch-Überprüfungen
Erste Schritte
- Lesen Sie diese ganze Seite “von oben nach unten”.
- Stellen Sie sicher, dass Sie ein GitHub-Konto haben.
- Stellen Sie sich im Entwickler-Chat auf Discord vor.
- Schauen Sie sich die Seite Offene Probleme an. Wir haben es für Anfänger einfach gemacht mit dem Label good first issue — das sind Probleme, die relativ einfach zu beheben sein sollten.
- Viel Spaß!
Einrichtung der Entwicklungsumgebung
Schnellstart (Empfohlen)
🚀 GitHub Codespaces (Am Einfachsten):
- Klicken Sie auf “Code” → “Codespaces” → “Create codespace on [branch]”
- Warten Sie 2-3 Minuten auf die automatische Einrichtung
- Öffnen Sie
http://localhostund melden Sie sich mitadmin/changemean
🐳 VS Code-Entwicklungscontainer:
- Installieren Sie die Erweiterung “Dev Containers” in VS Code
- Öffnen Sie dieses Repository in VS Code
- Klicken Sie auf “Reopen in Container”, wenn Sie dazu aufgefordert werden
- Warten Sie auf die Fertigstellung der Einrichtung
🔧 DDEV (Lokales Docker):
- Installieren Sie DDEV und Docker
- Klonen Sie das Repository und führen Sie aus:
git clone https://github.com/ChurchCRM/CRM.git churchcrm cd churchcrm ddev start ddev setup-churchcrm - Öffnen Sie https://churchcrm.ddev.site und melden Sie sich mit
admin/changemean
Weitere Informationen und Fehlerbehebung finden Sie unter DDEV-Setup.
Manuelle Einrichtung
Wenn Sie manuelle Einrichtung bevorzugen oder die automatischen Optionen nicht funktionieren:
Voraussetzungen Installieren:
- Git oder GitHub Desktop
- Node.js Version 20+
- Docker
- PHP 8.4+ mit Erweiterungen:
bcmath,curl,gd,gettext,iconv,mbstring,mysqli,pdo_mysql,sodium,zip,zlib - Composer (PHP-Abhängigkeitsmanager)
Klonen und Einrichten:
git clone https://github.com/your-username/ChurchCRM.git cd ChurchCRM ./scripts/setup-dev-environment.shZugang zur Website:
- ChurchCRM: http://localhost/ (
admin/changeme) - MailHog: http://localhost:8025 (Email-Test)
- Adminer: http://localhost:8088 (Datenbankadmin)
- ChurchCRM: http://localhost/ (
Fehlerbehebung
Häufige Probleme:
- Port-80-Konflikte: Beenden Sie andere Webserver oder ändern Sie die Docker-Port-Zuordnung
- Docker-Build schlägt fehl: Stellen Sie sicher, dass Docker 4 GB+ RAM zugeordnet hat
- Dienste starten nicht: Führen Sie
npm run docker:dev:logsaus, um Protokolle zu überprüfen - Tests schlagen lokal fehl: Verwenden Sie
npm run docker:test:rebuildfür eine saubere Testumgebung - PHP-Erweiterungen fehlen: Verwenden Sie Docker-Container — nicht lokal erstellen
- Veraltetes Datenbankschema: Führen Sie
npm run docker:test:restart:dbaus zum Aktualisieren
DDEV-Setup
DDEV ist eine lokale Docker-basierte Entwicklungsumgebung, die PHP, MariaDB, Node.js, HTTPS und E-Mail-Tests mit einem einzigen Befehl bereitstellt.
Voraussetzungen
- Docker Desktop
- DDEV v1.22+
Schnellstart
git clone https://github.com/ChurchCRM/CRM.git churchcrm
cd churchcrm
ddev start
ddev setup-churchcrm
ddev launch
Anmeldung: admin / changeme
Service-URLs
| Dienst | URL |
|---|---|
| ChurchCRM | https://churchcrm.ddev.site |
| Mailpit | https://churchcrm.ddev.site:8025 |
| MySQL | ddev mysql |
Täglicher Arbeitsablauf
ddev start # Dienste starten
ddev stop # Dienste beenden
ddev ssh # Shell-Zugriff
ddev logs # Protokolle anzeigen
DDEV-Fehlerbehebung
| Problem | Lösung |
|---|---|
ddev start schlägt fehl | Stellen Sie sicher, dass Docker läuft: docker info |
| Config.php nicht erstellt | Führen Sie ddev exec cp /var/www/html/.ddev/Config.ddev.php /var/www/html/src/Include/Config.php aus |
| Datenbank leer | Reimportieren: ddev import-db --file=cypress/data/seed.sql |
Vollständige DDEV-Dokumentation: https://ddev.readthedocs.io
Entwicklungsstandards
Benutzeroberfläche
ChurchCRM verwendet das AdminLTE-Framework für die Benutzeroberfläche. Beachten Sie diese Richtlinien:
- Machen Sie sich mit AdminLTE vertraut
- Halten Sie UI-Änderungen mit AdminLTE-Designprinzipien in Einklang
- Erstellen Sie modulare und organisierte CSS-Dateien für benutzerdefinierte Stile
- Gewährleisten Sie responsives Design auf allen Bildschirmgrößen
Slim-MVC-Architektur
Für neue APIs und Seiten folgen Sie der Slim-MVC-Architektur (Model-View-Controller).
Tests mit Cypress
Verwenden Sie Cypress für End-to-End-Tests:
npm run test # Alle Tests ausführen
npm run test:ui # Interaktive Tests
Teststruktur:
- API-Tests:
cypress/e2e/api/private/[feature]/[endpoint].spec.js - UI-Tests:
cypress/e2e/ui/[feature]/
Entwicklungs-Arbeitsablauf
Verzweigung:
git checkout -b feature-nameCode-Standards:
- Befolgen Sie bestehende Kodierungsstandards
- Halten Sie sich an den Stilführer in
.github/copilot-instructions.md - Verwenden Sie aussagekräftige Commit-Meldungen
Tests:
- Schreiben Sie Tests für Ihre Änderungen mit Cypress
- Aktualisieren Sie die Dokumentation nach Bedarf
Pull-Request-Prozess:
git pull origin master git rebase master git push origin feature-name
Kodierungsstandards
ChurchCRM hält strenge Codequalitätsstandards ein:
- ✅ Datenbank: Propel ORM obligatorisch (kein rohes SQL)
- ✅ HTML5: Nur Bootstrap 4.6.2 CSS
- ✅ Dienste: Geschäftslogik in Service-Klassen
- ✅ PHP 8.4+: Explizite nullable Typen
- ✅ i18n: Wickeln Sie UI-Text mit
gettext()oderi18next.t()ein
Für vollständige Standards siehe .github/copilot-instructions.md
Verhaltenskodex
Bitte befolgen Sie den Verhaltenskodex in allen Interaktionen.
Danke für deinen Beitrag!