Kurzinfo: ausführliche Beitragsrichtlinien und die PR-Checkliste findest du in docs/contributing.md.
Vielen Dank für dein Interesse, dieses Projekt mitzugestalten! Wir freuen uns über Beiträge jeder Art – ob Code, Dokumentation, Tests oder Ideen.
- Forke das Repository
- Erstelle einen Branch:
feature/dein-thema - Implementiere deine Änderungen
- Öffne einen Pull Request mit:
- Beschreibung der Änderung
- Verweis auf relevante Issues (falls vorhanden)
- Screenshots oder Tests (wenn sinnvoll)
Diese Datei ist zweisprachig. | This file is bilingual.
🇩🇪 Deutsch | 🇬🇧 English below
Kurzinfo: Ausführliche Beitragsrichtlinien und die PR-Checkliste findest du in docs/contributing.md.
Vielen Dank für dein Interesse! Wir freuen uns über Beiträge jeder Art – Code, Dokumentation, Tests oder Ideen.
- Forke das Repository
- Erstelle einen Branch:
feature/dein-thema - Implementiere Änderungen
- Öffne einen Pull Request mit:
- Beschreibung der Änderung
- Verweis auf relevante Issues (falls vorhanden)
- Screenshots oder Tests (wenn sinnvoll)
Bitte prüfe vor dem PR:
- Tests laufen lokal (
npm run test) - Neue Funktionen sind getestet
- Dokumentation (
READMEoderdocs/) aktualisiert - Commit-Nachricht ist klar und prägnant
Lizenz: GPLv3
Sprache: Deutsch & Englisch
Doku: siehe README.de.md und README.en.md
Ein Teil dieses Repositories wurde mit Hilfe von KI-gestützten Tools erstellt (z. B. GitHub Copilot). Generierte Inhalte wurden geprüft und ggf. angepasst. Bitte kennzeichne automatisierte Beiträge beim Einreichen.
- Frontend: Vue 3 + TypeScript + Composition API
- Backend: Express + TypeScript
- Store: Pinia
- Tests: Vitest + Vue Test Utils
- Nutze GitHub Issues für Vorschläge oder Fehlerberichte.
- Diskutiere größere Änderungen vorab per Issue oder PR-Kommentar.
Wenn du Änderungen an den jVerein- oder Nextcloud-Integrationen vornimmst, prüfe bitte:
- Lege lokal einen Fork unter
vendor/jverein/odervendor/nextcloud/an und dokumentiere Änderungen invendor/*/README.md. - Nutze
scripts/setup_local_env.shum lokale Pfade und WebDAV-Zugang zu konfigurieren. - Führe
node scripts/import_jverein.js path/to/sample.csv server/data/imported_members.json --dry-runaus und überprüfeserver/data/import_report.json. - Führe
node scripts/migrate_imported_members.js --dry-runund prüfeserver/data/migration_report.json.
Wenn CI-spezifische Tests notwendig sind, dokumentiere die Schritte in docs/integrations.md.
Short note: Full contributing guidelines and the PR checklist are in docs/contributing.md.
Thanks for your interest! We welcome contributions of all kinds — code, docs, tests, and ideas.
- Fork the repository
- Create a branch:
feature/your-topic - Implement your changes
- Open a Pull Request including:
- A description of the change
- References to relevant issues (if any)
- Screenshots or tests (when appropriate)
Please verify before opening a PR:
- Tests run locally (
npm run test) - New features are covered by tests
- Documentation (
READMEordocs/) updated - Commit message is clear and concise
License: GPLv3
Language: German & English
Docs: see README.de.md and README.en.md
Parts of this repository were created with the help of AI tools (e.g. GitHub Copilot). Generated content was reviewed and adjusted when necessary. Please mark automated content when submitting contributions.
- Frontend: Vue 3 + TypeScript + Composition API
- Backend: Express + TypeScript
- Store: Pinia
- Tests: Vitest + Vue Test Utils
- Use GitHub Issues for suggestions or bug reports.
- Discuss larger changes in an Issue or PR comment first.
If you modify the jVerein or Nextcloud integrations:
- Place a local fork under
vendor/jverein/orvendor/nextcloud/and document changes invendor/*/README.md. - Use
scripts/setup_local_env.shto configure local paths and WebDAV access. - Run
node scripts/import_jverein.js path/to/sample.csv server/data/imported_members.json --dry-runand checkserver/data/import_report.json. - Run
node scripts/migrate_imported_members.js --dry-runand inspectserver/data/migration_report.json.
If CI-specific tests are needed, document the steps in docs/integrations.md.