todo-helden/README.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

212 lines
5.0 KiB
Markdown

# 📝 ToDo Kids - Aufgaben-App für Kinder
Eine kindgerechte To-Do-Listen-App mit verschiedenen Themes, Belohnungssystem und Firebase-Integration.
## 🌟 Features
### 🎨 Verschiedene Themes
- **🌈 Bunt & Fröhlich**: Farbenfrohes Standard-Theme
- **🌲 Wald**: Authentische Waldatmosphäre mit Bäumen und Tieren
- **🚀 Weltraum**: Futuristische Weltraum-Optik mit Sternen und Planeten
- **🌊 Ozean**: Unterwasser-Theme mit Fischen und Wellen
- **🌿 Natur**: Grünes Natur-Theme mit Pflanzen
### 👨‍👩‍👧‍👦 Familien-Management
- Mehrere Kinder pro Familie
- Individuelle Profile und Einstellungen
- Altersgerechte Benutzeroberflächen
### ✅ Aufgaben-System
- Erstellen und Verwalten von Aufgaben
- Prioritäten und Kategorien
- Fortschrittsverfolgung
- Belohnungspunkte
### 🏆 Belohnungs-System
- Punkte sammeln für erledigte Aufgaben
- Achievements und Erfolge
- Motivierende Belohnungen
## 🛠️ Technologie-Stack
### Frontend
- **React** 18.x
- **Material-UI (MUI)** 5.x
- **React Router** für Navigation
- **Context API** für State Management
### Backend
- **Node.js** mit Express
- **Firebase** Authentication & Firestore
- **JWT** für Session-Management
### Styling
- **Material-UI Theming**
- **CSS-in-JS**
- **Responsive Design**
- **SVG-Animationen**
## 🚀 Installation
### Voraussetzungen
- Node.js (Version 16 oder höher)
- npm oder yarn
- Firebase-Projekt
### 1. Repository klonen
```bash
git clone <repository-url>
cd "ToDo Kids"
```
### 2. Dependencies installieren
```bash
# Backend Dependencies
npm install
# Frontend Dependencies
cd client
npm install
cd ..
```
### 3. Environment Variables einrichten
#### Backend (.env)
```env
PORT=5000
JWT_SECRET=your_jwt_secret_here
FIREBASE_PROJECT_ID=your_firebase_project_id
FIREBASE_PRIVATE_KEY=your_firebase_private_key
FIREBASE_CLIENT_EMAIL=your_firebase_client_email
```
#### Frontend (client/.env)
```env
REACT_APP_FIREBASE_API_KEY=your_api_key
REACT_APP_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
REACT_APP_FIREBASE_PROJECT_ID=your_project_id
REACT_APP_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
REACT_APP_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
REACT_APP_FIREBASE_APP_ID=your_app_id
REACT_APP_API_URL=http://localhost:5000/api
```
### 4. Firebase einrichten
1. Firebase-Projekt erstellen
2. Authentication aktivieren (Email/Password)
3. Firestore Database erstellen
4. Service Account Key generieren
5. Environment Variables konfigurieren
Detaillierte Anweisungen: [FIREBASE_SETUP.md](FIREBASE_SETUP.md)
## 🏃‍♂️ Entwicklung starten
### Backend starten
```bash
npm run dev
```
### Frontend starten
```bash
cd client
npm start
```
Die App ist dann verfügbar unter:
- Frontend: http://localhost:3000
- Backend: http://localhost:5000
## 📁 Projektstruktur
```
ToDo Kids/
├── client/ # React Frontend
│ ├── public/
│ ├── src/
│ │ ├── components/ # Wiederverwendbare Komponenten
│ │ ├── contexts/ # React Context Provider
│ │ ├── firebase/ # Firebase Konfiguration
│ │ ├── pages/ # Seiten-Komponenten
│ │ └── themes/ # Theme-Definitionen
│ └── package.json
├── middleware/ # Express Middleware
├── models/ # Datenmodelle
├── routes/ # API Routes
├── .env # Backend Environment Variables
├── .gitignore
├── package.json
└── server.js # Express Server
```
## 🎨 Theme-System
Das Theme-System ermöglicht es Kindern, ihre bevorzugte Optik zu wählen:
- **Dynamische Themes**: Jedes Kind kann sein eigenes Theme wählen
- **SVG-Animationen**: Lebendige, aber nicht ablenkende Animationen
- **Responsive Design**: Funktioniert auf allen Geräten
- **Accessibility**: Kindgerechte Farben und Kontraste
## 🔐 Sicherheit
- **Firebase Authentication**: Sichere Benutzeranmeldung
- **JWT Tokens**: Session-Management
- **Input Validation**: Schutz vor schädlichen Eingaben
- **Environment Variables**: Sensible Daten sind geschützt
## 🧪 Testing
```bash
# Frontend Tests
cd client
npm test
# Backend Tests (falls implementiert)
npm test
```
## 📦 Deployment
### Frontend (Netlify/Vercel)
```bash
cd client
npm run build
```
### Backend (Heroku/Railway)
```bash
npm start
```
## 🤝 Beitragen
1. Fork das Repository
2. Erstelle einen Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Committe deine Änderungen (`git commit -m 'Add some AmazingFeature'`)
4. Push zum Branch (`git push origin feature/AmazingFeature`)
5. Öffne einen Pull Request
## 📄 Lizenz
Dieses Projekt steht unter der MIT-Lizenz. Siehe [LICENSE](LICENSE) für Details.
## 📞 Support
Bei Fragen oder Problemen:
- Erstelle ein Issue im Repository
- Kontaktiere das Entwicklungsteam
## 🔄 Changelog
### Version 1.0.0
- ✅ Grundlegende Aufgaben-Funktionalität
- ✅ Firebase-Integration
- ✅ 5 verschiedene Themes
- ✅ Familien-Management
- ✅ Belohnungssystem
---
**Entwickelt mit ❤️ für Kinder und Familien**