todo-helden/CONTRIBUTING.md
Michi 0ebe7fa13d
Some checks failed
🚀 Continuous Integration / 🔧 Backend Tests (18.x) (push) Has been cancelled
🚀 Continuous Integration / 🔧 Backend Tests (20.x) (push) Has been cancelled
🚀 Continuous Integration / 🎨 Frontend Tests (18.x) (push) Has been cancelled
🚀 Continuous Integration / 🎨 Frontend Tests (20.x) (push) Has been cancelled
🚀 Continuous Integration / 🔍 Code Quality (push) Has been cancelled
🚀 Continuous Integration / 🔒 Security Checks (push) Has been cancelled
🚀 Continuous Integration / 🎨 Theme Tests (push) Has been cancelled
🚀 Continuous Integration / ♿ Accessibility Tests (push) Has been cancelled
🚀 Continuous Integration / 📱 Cross-Browser Tests (push) Has been cancelled
🚀 Continuous Integration / 🏗️ Build Tests (push) Has been cancelled
🚀 Continuous Integration / 📊 Performance Tests (push) Has been cancelled
🚀 Continuous Integration / 🎯 Integration Tests (push) Has been cancelled
🚀 Continuous Integration / ✅ All Tests Passed (push) Has been cancelled
Initial commit: ToDo Kids v1.0.0
2025-08-04 15:46:08 +02:00

240 lines
5.1 KiB
Markdown

# 🤝 Beitragen zu ToDo Kids
Vielen Dank für dein Interesse, zu ToDo Kids beizutragen! Wir freuen uns über jede Art von Beitrag.
## 🎯 Arten von Beiträgen
### 🐛 Bug Reports
- Verwende die GitHub Issues
- Beschreibe das Problem detailliert
- Füge Screenshots hinzu, wenn möglich
- Gib deine Browser-/System-Informationen an
### 💡 Feature Requests
- Öffne ein Issue mit dem Label "enhancement"
- Erkläre den Nutzen für Kinder und Familien
- Beschreibe die gewünschte Funktionalität
### 🎨 Theme-Beiträge
- Neue Themes sind sehr willkommen!
- Achte auf kindgerechte Farben und Designs
- Teste die Accessibility
- Füge SVG-Animationen hinzu (optional)
### 📝 Dokumentation
- Verbesserungen der README
- Code-Kommentare
- Tutorials und Guides
## 🚀 Entwicklungs-Workflow
### 1. Repository forken
```bash
# Fork das Repository auf GitHub
# Dann klone dein Fork
git clone https://github.com/DEIN-USERNAME/todo-kids.git
cd todo-kids
```
### 2. Development Environment einrichten
```bash
# Dependencies installieren
npm install
cd client && npm install && cd ..
# Environment Variables kopieren
cp .env.example .env
cp client/.env.example client/.env
# Firebase konfigurieren (siehe FIREBASE_SETUP.md)
```
### 3. Feature Branch erstellen
```bash
git checkout -b feature/amazing-new-feature
# oder
git checkout -b bugfix/fix-important-bug
# oder
git checkout -b theme/new-awesome-theme
```
### 4. Entwickeln und Testen
```bash
# Backend starten
npm run dev
# Frontend starten (neues Terminal)
cd client
npm start
# Tests ausführen
npm test
cd client && npm test
```
### 5. Code Style beachten
#### JavaScript/React
- Verwende ESLint-Konfiguration
- Funktionale Komponenten mit Hooks
- Aussagekräftige Variablennamen
- Kommentare für komplexe Logik
#### CSS/Styling
- Material-UI Theming verwenden
- Responsive Design beachten
- Accessibility-Standards einhalten
#### Git Commits
```bash
# Gute Commit-Messages
git commit -m "feat: add forest theme with animated trees"
git commit -m "fix: resolve login issue for child accounts"
git commit -m "docs: update installation instructions"
```
### 6. Pull Request erstellen
#### Vor dem PR
- [ ] Code funktioniert lokal
- [ ] Tests laufen durch
- [ ] Keine Console-Errors
- [ ] Responsive Design getestet
- [ ] Accessibility überprüft
#### PR-Beschreibung
```markdown
## 📝 Beschreibung
Kurze Beschreibung der Änderungen
## 🎯 Art der Änderung
- [ ] Bug Fix
- [ ] Neues Feature
- [ ] Breaking Change
- [ ] Dokumentation
## 🧪 Tests
- [ ] Bestehende Tests laufen durch
- [ ] Neue Tests hinzugefügt (falls nötig)
## 📱 Screenshots
(Falls UI-Änderungen)
## ✅ Checklist
- [ ] Code folgt den Style-Guidelines
- [ ] Self-Review durchgeführt
- [ ] Kommentare hinzugefügt
- [ ] Dokumentation aktualisiert
```
## 🎨 Theme-Entwicklung
### Neue Themes erstellen
1. **Theme-Datei erweitern**
```javascript
// In client/src/themes/childThemes.js
const myAwesomeTheme = createTheme({
...baseTheme,
palette: {
// Deine Farben
},
themeIcon: '🎭',
components: {
// Deine Styling-Overrides
}
});
```
2. **SVG-Animationen hinzufügen**
```javascript
backgroundImage: 'url("data:image/svg+xml,...")',
animation: 'my-animation 10s ease-in-out infinite',
```
3. **Theme registrieren**
```javascript
export const childThemes = {
// ... bestehende themes
myAwesome: myAwesomeTheme,
};
```
### Theme-Guidelines
- **Kindgerecht**: Helle, freundliche Farben
- **Accessibility**: Ausreichender Kontrast
- **Performance**: Optimierte SVGs
- **Konsistenz**: Einheitliches Design
## 🐛 Bug Fixes
### Debugging-Tipps
```bash
# Browser DevTools verwenden
# React DevTools installieren
# Console-Logs überprüfen
# Backend-Logs
npm run dev # Zeigt Server-Logs
# Frontend-Logs
# Browser Console öffnen
```
### Häufige Probleme
- **Firebase-Konfiguration**: Überprüfe .env-Dateien
- **CORS-Errors**: Backend/Frontend URLs prüfen
- **Theme-Probleme**: Browser-Cache leeren
## 📋 Code Review Process
### Was wir überprüfen
- **Funktionalität**: Arbeitet der Code wie erwartet?
- **Code Quality**: Ist der Code sauber und verständlich?
- **Performance**: Gibt es Performance-Probleme?
- **Security**: Sind Sicherheitsaspekte beachtet?
- **UX**: Ist die Benutzererfahrung gut?
### Review-Feedback
- Konstruktives Feedback geben
- Verbesserungsvorschläge machen
- Positive Aspekte hervorheben
- Bei Fragen nachfragen
## 🎯 Prioritäten
### Hoch
- Sicherheitslücken
- Kritische Bugs
- Accessibility-Verbesserungen
### Mittel
- Neue Features
- Performance-Optimierungen
- UI/UX-Verbesserungen
### Niedrig
- Code-Refactoring
- Dokumentation
- Nice-to-have Features
## 🏆 Anerkennung
Alle Beitragenden werden in der README erwähnt. Besonders wertvolle Beiträge werden speziell hervorgehoben.
## 📞 Hilfe bekommen
- **GitHub Issues**: Für Fragen und Diskussionen
- **Discussions**: Für allgemeine Gespräche
- **Email**: Für private Anfragen
## 📜 Code of Conduct
- Respektvoller Umgang miteinander
- Konstruktive Kritik
- Hilfsbereitschaft
- Fokus auf das Projekt
---
**Vielen Dank für deinen Beitrag zu ToDo Kids! 🎉**