- Remove statistics feature (stores, routes, ~560 LOC) - Remove network view with D3.js graph (~1,100 LOC) - Remove session-based contact storage - Add demo contacts for unauthenticated users (10 sample contacts) - Add auth gate prompts for create/edit/delete/favorite actions - Update layout with Demo-Modus banner and event handling - ~1,760 lines of code removed for simpler, cleaner codebase Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3.1 KiB
Contacts App - Cleanup Plan
Dieser Plan dokumentiert Features und Code, die überdurchschnittlich viel Komplexität erzeugen bei geringem Nutzen. Ziel ist eine schlankere, wartbarere Codebase.
Status-Legende
- ✅ Erledigt
- 🔄 In Bearbeitung
- ⏳ Geplant
- ❌ Abgelehnt
Geplante Aufräumarbeiten
Priorität 1: Quick Wins (Hoher ROI)
✅ 1.1 Statistiken entfernen
Status: Erledigt Geschätzte Ersparnis: ~560 Zeilen Komplexität: MITTEL | Nutzen: NIEDRIG
Beschreibung: Analytics-Dashboard mit Activity Heatmap, Trend Charts, Donut Charts. Geringe Nutzung bei hoher Komplexität.
Entfernte Dateien:
src/lib/stores/statistics.svelte.ts(~276 Zeilen)src/routes/(app)/statistics/+page.svelte(~282 Zeilen)
Geänderte Dateien:
src/routes/(app)/+layout.svelte- Nav-Item entfernt
✅ 1.2 Network View entfernen
Status: Erledigt Geschätzte Ersparnis: ~1.100 Zeilen Komplexität: HOCH | Nutzen: NIEDRIG
Beschreibung: D3.js Force-Directed Graph zur Visualisierung von Kontakt-Beziehungen. Komplex (Force Simulation, Node Dragging, Filtering) aber wenig genutzt.
Entfernte Dateien:
src/lib/stores/network.svelte.ts(~540 Zeilen)src/lib/api/network.ts(~50 Zeilen)src/lib/components/network/NetworkGraph.sveltesrc/lib/components/network/NetworkControls.sveltesrc/lib/components/views/ContactNetworkView.svelte
Geänderte Dateien:
src/lib/components/ContactList.svelte- Network-View entferntsrc/lib/components/ContactsToolbarContent.svelte- Network-Controls entfernt
✅ 1.3 Session Contacts → Demo-Modus
Status: Erledigt Geschätzte Ersparnis: ~100 Zeilen (netto) Komplexität: MITTEL | Nutzen: HOCH (bessere UX)
Beschreibung: Wie bei Calendar/Todo: Session-basiertes Kontakt-Management durch statischen Demo-Modus ersetzen. Statt frustrierender UX (Kontakte verschwinden bei Tab-Schließung) zeigt die App Beispiel-Kontakte.
Entfernte Dateien:
src/lib/stores/session-contacts.svelte.ts(~236 Zeilen)
Neue Dateien:
src/lib/data/demo-contacts.ts(~215 Zeilen) - 10 Demo-Kontakte
Geänderte Dateien:
src/lib/stores/contacts.svelte.ts- Demo-Kontakte statt Session-Logiksrc/routes/(app)/+layout.svelte- Demo-Banner, Auth-Gate Eventssrc/lib/components/ContactList.svelte- Auth-Gate bei Favoritensrc/lib/components/ContactDetailModal.svelte- Auth-Gate bei Demo-Kontaktensrc/lib/components/NewContactModal.svelte- Auth-Gate bei Erstellungsrc/lib/components/AuthGateModal.svelte- Angepasste Demo-Modus Texte
Zusammenfassung
| Phase | Features | LOC Ersparnis | Status |
|---|---|---|---|
| 🟢 Prio 1.1 | Statistiken | ~560 | ✅ Erledigt |
| 🟢 Prio 1.2 | Network View | ~1.100 | ✅ Erledigt |
| 🟢 Prio 1.3 | Sessions → Demo | ~100 | ✅ Erledigt |
| Gesamt | ~1.760 | ✅ |
Erreicht: ~20% Code-Reduktion bei gleichem/besserem Nutzererlebnis
Changelog
| Datum | Aktion | Commit |
|---|---|---|
| 2026-01-28 | Statistiken, Network View, Session Contacts entfernt; Demo-Modus implementiert | - |