# Task Management System

## my.experimenta.science MVP Implementation

Dieses Verzeichnis enthält die feingranulare Task-Planung für die Implementierung des MVP.

---

## 📁 Ordnerstruktur

```
tasks/
├── README.md                    # Diese Datei - Übersicht & Anleitung
├── 00-PROGRESS.md              # Zentrale Fortschrittsverfolgung
├── 01-foundation.md            # Phase 1: Foundation (Nuxt Setup)
├── 02-database.md              # Phase 2: Database Schema & Migrations
├── 03-authentication.md        # Phase 3: Cidaas OAuth2 Integration
├── 04-products.md              # Phase 4: Product Display
├── 05-cart.md                  # Phase 5: Shopping Cart
├── 06-checkout.md              # Phase 6: Checkout Flow
├── 07-payment.md               # Phase 7: PayPal Integration
├── 08-order-processing.md      # Phase 8: Order Processing (BullMQ + X-API)
├── 09-erp-integration.md       # Phase 9: NAV ERP Product Sync
├── 10-i18n.md                  # Phase 10: Internationalization
└── 11-testing-deployment.md    # Phase 11: Testing & Deployment
```

---

## 🎯 Zweck

Dieses System ermöglicht:

✅ **Strukturierte Entwicklung:** Klare Aufteilung in logische Phasen
✅ **Progress Tracking:** Nachvollziehbarer Fortschritt pro Phase
✅ **Agent-freundlich:** Claude Code Agents können Tasks autonom abarbeiten
✅ **Resume-fähig:** Einfaches Fortsetzen nach Unterbrechung
✅ **Transparenz:** Blockers & Decisions werden dokumentiert
✅ **Dependencies:** Klare Abhängigkeiten zwischen Phasen

---

## 📊 Status-Definitionen

| Status          | Symbol | Bedeutung                              |
| --------------- | ------ | -------------------------------------- |
| **Todo**        | ⏳     | Noch nicht begonnen                    |
| **In Progress** | 🔄     | Aktuell in Arbeit                      |
| **Done**        | ✅     | Abgeschlossen & getestet               |
| **Blocked**     | 🚫     | Blockiert, wartet auf externes Input   |
| **Skipped**     | ⏭️     | Übersprungen (optional/nicht relevant) |

---

## 🔄 Workflow für Agents

### 1. Start einer Arbeitssession

```markdown
1. Öffne `00-PROGRESS.md`
2. Identifiziere nächste Phase mit Status "⏳ Todo" oder "🔄 In Progress"
3. Öffne die entsprechende Phase-Datei (z.B. `03-authentication.md`)
```

### 2. Während der Implementierung

```markdown
1. Arbeite Tasks sequenziell ab (von oben nach unten)
2. Markiere Tasks als erledigt: `- [ ]` → `- [x]`
3. Dokumentiere wichtige Entscheidungen im Notes-Bereich
4. Bei Blocker: Status auf 🚫, Grund dokumentieren
```

### 3. Fortschritt aktualisieren

```markdown
1. Nach jedem abgeschlossenen Task:
   - Aktualisiere Progress in Phase-Datei: "3/15 tasks (20%)"

2. Nach Abschluss einer Phase:
   - Status auf ✅ Done setzen
   - `00-PROGRESS.md` aktualisieren
   - Nächste Phase identifizieren
```

### 4. Bei Unterbrechung

```markdown
1. Aktuellen Task-Status in Phase-Datei speichern
2. In `00-PROGRESS.md` unter "Current Work" dokumentieren:
   - Welche Phase
   - Welcher Task
   - Was als nächstes zu tun ist
```

---

## 📝 Phase-Datei Format

Jede Phase-Datei folgt diesem Template:

```markdown
# Phase X: [Name]

**Status:** ⏳ Todo | 🔄 In Progress | ✅ Done | 🚫 Blocked
**Progress:** 0/15 tasks (0%)
**Started:** -
**Completed:** -
**Assigned to:** -

---

## Overview

[Beschreibung was in dieser Phase erreicht werden soll]

---

## Dependencies

- ✅ Phase Y: [Name] must be completed first
- ⏳ Phase Z: [Name] (optional, can run parallel)

---

## Tasks

### Setup

- [ ] Task 1
- [ ] Task 2

### Implementation

- [ ] Task 3
- [ ] Task 4

### Testing

- [ ] Task 5
- [ ] Task 6

---

## Acceptance Criteria

- [ ] Criterion 1
- [ ] Criterion 2

---

## Notes

- Important decision: ...
- Issue encountered: ...
- Resource link: ...

---

## Blockers

- None currently

---

## Related Documentation

- [PRD Section X](../docs/PRD.md#section)
- [Architecture Section Y](../docs/ARCHITECTURE.md#section)
```

---

## 🎓 Best Practices

### Für Agents

1. **Lies zuerst die Phase-Übersicht:** Verstehe das Ziel, bevor du startest
2. **Prüfe Dependencies:** Sind alle abhängigen Phasen abgeschlossen?
3. **Arbeite sequenziell:** Tasks sind nach Abhängigkeit sortiert
4. **Teste nach jedem Task:** Nicht alle Tasks am Ende testen
5. **Dokumentiere Blocker:** Wenn stuck, dokumentiere warum
6. **Update Progress häufig:** Nach jedem Task, nicht nur am Ende

### Für Entwickler

1. **Review 00-PROGRESS.md täglich:** Übersicht behalten
2. **Nutze Git Commits pro Task:** Ermöglicht einfaches Rollback
3. **Dokumentiere Abweichungen:** Wenn von Plan abgewichen wird
4. **Update Acceptance Criteria:** Falls sich Requirements ändern

---

## 📦 Phase-Übersicht

| #   | Phase                | Schwerpunkt                         | Geschätzte Tasks |
| --- | -------------------- | ----------------------------------- | ---------------- |
| 01  | Foundation           | Nuxt 4 Setup, shadcn-nuxt, Tailwind | ~10              |
| 02  | Database             | Drizzle Schema, Migrations          | ~12              |
| 03  | Authentication       | Cidaas OAuth2/OIDC                  | ~18              |
| 04  | Products             | Product Display & List              | ~10              |
| 05  | Cart                 | Shopping Cart Logic                 | ~12              |
| 06  | Checkout             | Checkout Flow & Forms               | ~15              |
| 07  | Payment              | PayPal Integration                  | ~12              |
| 08  | Order Processing     | BullMQ + X-API Submission           | ~15              |
| 09  | ERP Integration      | NAV ERP Product Sync API            | ~10              |
| 10  | i18n                 | Internationalization DE/EN          | ~8               |
| 11  | Testing & Deployment | E2E Tests, Docker Production        | ~15              |

**Total:** ~137 granulare Tasks

---

## 🚀 Getting Started

```bash
# 1. Lies die zentrale Progress-Datei
cat tasks/00-PROGRESS.md

# 2. Identifiziere nächste Phase
# z.B. Phase 1: Foundation

# 3. Öffne Phase-Datei
cat tasks/01-foundation.md

# 4. Starte Implementierung
# Arbeite Tasks von oben nach unten ab

# 5. Update Progress nach jedem Task
# Markiere Task als done, update Progress-Zeile
```

---

## 📞 Bei Fragen

- Schaue in die relevante Dokumentation: `docs/PRD.md`, `docs/ARCHITECTURE.md`, `docs/TECH_STACK.md`
- Prüfe `CLAUDE.md` für Code-Patterns
- Bei Blocker: Dokumentiere in Phase-Datei + `00-PROGRESS.md`

---

**Happy Coding! 🎉**
