13 KiB
13 KiB
🐆 Pounce Terminal - Umbauplan
Von "Command Center" zu "Terminal"
Design-Prinzip: "High Density, Low Noise" - Wie ein Trading-Dashboard
📊 IST vs. SOLL Analyse
Aktuelle Struktur (Terminal) ✅ IMPLEMENTIERT
/terminal/
├── radar/ → RADAR (Startseite/Dashboard)
├── market/ → MARKET (Auktionen + Listings)
├── intel/ → INTEL (TLD Pricing)
│ └── [tld]/ → Detail-Seite pro TLD
├── watchlist/ → WATCHLIST (Watching + Portfolio)
├── listing/ → LISTING (Verkaufs-Wizard)
├── settings/ → SETTINGS (Einstellungen)
└── welcome/ → Onboarding
Ziel-Struktur (Terminal - laut pounce_terminal.md)
/terminal/
├── radar/ → RADAR (Dashboard/Startseite)
├── market/ → MARKET (Auktionen + User-Listings gemischt)
├── intel/ → INTEL (TLD Data/Pricing erweitert)
├── watchlist/ → WATCHLIST (Watching + My Portfolio)
├── listing/ → LISTING (Verkaufs-Wizard)
├── settings/ → SETTINGS (Admin/Account)
└── welcome/ → Onboarding (bleibt)
✅ Master-Checkliste
Phase 1: Umbenennung & Routing ✅ ABGESCHLOSSEN
- 1.1 Route
/command→/terminalumbenennen - 1.2
CommandCenterLayout→TerminalLayoutumbenennen - 1.3 Alle internen Links aktualisieren
- 1.4 Redirect von
/command/*→/terminal/*einrichten - 1.5 Sidebar-Navigation aktualisieren
Phase 2: Module neu strukturieren ✅ ABGESCHLOSSEN
- 2.1 RADAR Module (Dashboard → /terminal/radar)
- 2.2 MARKET Module (Auktionen + Listings → /terminal/market)
- 2.3 INTEL Module (TLD Pricing → /terminal/intel)
- 2.4 WATCHLIST Module (Watching + Portfolio → /terminal/watchlist)
- 2.5 LISTING Module (Verkaufs-Wizard → /terminal/listing)
- 2.6 SETTINGS Module (Admin → /terminal/settings)
Phase 3: UI/UX Verbesserungen ✅ ABGESCHLOSSEN
- 3.1 Universal Search verbessert (RADAR - simultane Suche)
- 3.2 Ticker/Laufband für Marktbewegungen (RADAR)
- 3.3 Pounce Score Algorithmus (MARKET)
- 3.4 Health Status Ampel-System (WATCHLIST)
- 3.5 Hide Spam / Pounce Direct Filter (MARKET)
- 3.6 Tier Paywall für Listings (LISTING)
Phase 4: Cleanup ✅ ABGESCHLOSSEN
- 4.1 Alte
/commandRouten entfernen - 4.2 Unbenutzte Komponenten löschen (CommandCenterLayout)
- 4.3 Alle verbleibenden Referenzen fixen
- 4.4 Test aller neuen Routen (Build erfolgreich)
📋 Detaillierte Checklisten pro Modul
🛰️ Modul 1: RADAR (Startseite/Dashboard)
Route: /terminal/radar (Hauptseite nach Login)
Konzept-Features:
- A. The Ticker (Top) - Laufband mit Marktbewegungen
- B. Quick Stats (Karten) - Watching, Market, My Listings
- C. Universal Search (Hero Element) - Gleichzeitige Suche
- D. Recent Alerts (Liste) - Chronologische Ereignisse
Checkliste:
| # | Task | Status | Priorität |
|---|---|---|---|
| 1.1 | Ticker-Komponente bauen | [ ] | HIGH |
| 1.2 | Ticker mit Live-Daten füttern (TLD-Trends, Watchlist-Alerts) | [ ] | HIGH |
| 1.3 | Quick Stats zu 3 Karten konsolidieren | [ ] | MEDIUM |
| 1.4 | Universal Search implementieren | [ ] | HIGH |
| 1.5 | Search-Logik: Gleichzeitige Prüfung (Whois, Auktionen, Marketplace) | [ ] | HIGH |
| 1.6 | Recent Alerts Liste mit Timeline-Design | [ ] | MEDIUM |
| 1.7 | "Morgenkaffee"-Layout optimieren (wichtigste Infos oben) | [ ] | MEDIUM |
Aktueller Stand in Codebase:
command/dashboard/page.tsxvorhanden- Hot Auctions, Trending TLDs, Quick Add Domain bereits implementiert
- ⚠️ Fehlt: Ticker, verbesserte Universal Search
🏪 Modul 2: MARKET (Der Feed)
Route: /terminal/market
Konzept-Features:
- Filter Bar (Hide Spam, Pounce Direct Only, TLD, Price)
- Master-Tabelle mit: Domain, Pounce Score, Price/Bid, Status/Time, Source, Action
- User-Listings (💎 Pounce Direct) gemischt mit API-Daten
Checkliste:
| # | Task | Status | Priorität |
|---|---|---|---|
| 2.1 | /command/auctions + /command/marketplace zusammenführen |
[ ] | HIGH |
| 2.2 | Einheitliche Tabelle für alle Listings | [ ] | HIGH |
| 2.3 | "Hide Spam" Toggle (Default: AN) | [ ] | HIGH |
| 2.4 | "Pounce Direct Only" Toggle | [ ] | MEDIUM |
| 2.5 | Pounce Score Spalte hinzufügen (0-100, Farbcodiert) | [ ] | HIGH |
| 2.6 | Source-Spalte mit Logos/Icons (GoDaddy, Sedo, Pounce) | [ ] | MEDIUM |
| 2.7 | Status-Spalte: Countdown für Auktionen, "⚡ Instant" für Direct | [ ] | HIGH |
| 2.8 | 💎 Pounce Direct Listings hervorheben (leichte Hintergrundfarbe) | [ ] | MEDIUM |
| 2.9 | API-Filter Backend: spam_score < 50 für Clean Feed |
[ ] | HIGH |
Aktueller Stand in Codebase:
command/auctions/page.tsx- Auktionen von GoDaddy/Sedocommand/marketplace/page.tsx- Pounce-Listings- ⚠️ Getrennt! Muss zusammengeführt werden
- ⚠️ Kein Pounce Score implementiert
📊 Modul 3: INTEL (TLD Data)
Route: /terminal/intel + /terminal/intel/[tld]
Konzept-Features:
- Inflation Monitor (Renewal Price Warnung wenn >200% von Buy Price)
- Trend Charts (30 Tage, 1 Jahr)
- Best Registrar Finder
Checkliste:
| # | Task | Status | Priorität |
|---|---|---|---|
| 3.1 | /command/pricing → /terminal/intel verschieben |
[ ] | HIGH |
| 3.2 | Inflation Monitor: Warn-Indikator ⚠️ bei Renewal > 200% Buy | [ ] | HIGH |
| 3.3 | Trend Charts: 30 Tage Timeline | [ ] | MEDIUM |
| 3.4 | Trend Charts: 1 Jahr Timeline | [ ] | LOW |
| 3.5 | Best Registrar Finder pro TLD | [ ] | HIGH |
| 3.6 | "Cheapest at: XYZ ($X.XX)" Anzeige | [ ] | HIGH |
| 3.7 | Detail-Seite [tld] mit allen Registrar-Preisen |
[ ] | HIGH |
| 3.8 | Renewal Trap Warning prominent anzeigen | [ ] | MEDIUM |
Aktueller Stand in Codebase:
command/pricing/page.tsx- TLD Übersicht ✅command/pricing/[tld]/page.tsx- TLD Details ✅- ⚠️ Charts vorhanden aber einfach
- ⚠️ Renewal-Warning existiert teilweise
👁️ Modul 4: WATCHLIST (Portfolio)
Route: /terminal/watchlist
Konzept-Features:
- Tab 1: "Watching" (Fremde Domains)
- Tab 2: "My Portfolio" (Eigene Domains - verifiziert)
- Health-Status: 🟢 Online, 🟡 DNS Changed, 🔴 Offline/Error
- Expiry-Datum mit Rot-Markierung wenn <30 Tage
- SMS/Email Alert-Einstellungen pro Domain
Checkliste:
| # | Task | Status | Priorität |
|---|---|---|---|
| 4.1 | /command/watchlist + /command/portfolio zusammenführen |
[ ] | HIGH |
| 4.2 | Tab-Navigation: "Watching" / "My Portfolio" | [ ] | HIGH |
| 4.3 | Health-Status Ampel-System implementieren | [ ] | HIGH |
| 4.4 | DNS-Change Detection Backend | [ ] | HIGH |
| 4.5 | Offline/Error Detection Backend (HTTP Request Check) | [ ] | HIGH |
| 4.6 | Expiry-Spalte mit Rot wenn <30 Tage | [ ] | MEDIUM |
| 4.7 | "Change" Spalte (z.B. "Nameserver updated 2h ago") | [ ] | MEDIUM |
| 4.8 | Per-Domain Alert Settings (SMS/Email Checkboxes) | [ ] | MEDIUM |
| 4.9 | Portfolio-Bewertung (Estimated Value) | [ ] | LOW |
Aktueller Stand in Codebase:
command/watchlist/page.tsx- Fremde Domains ✅command/portfolio/page.tsx- Eigene Domains ✅- ⚠️ Getrennt! Muss zusammengeführt werden
- ⚠️ Kein Health-Check System
- ⚠️ Keine DNS-Change Detection
🏷️ Modul 5: LISTING (Verkaufen)
Route: /terminal/listing
Konzept-Features:
- Nur für Trader ($9) und Tycoon ($29)
- 3-Step Wizard:
- Input (Domain + Preis)
- DNS Verification (
pounce-verify-XXXXTXT Record) - Publish
Checkliste:
| # | Task | Status | Priorität |
|---|---|---|---|
| 5.1 | /command/listings → /terminal/listing umbenennen |
[ ] | HIGH |
| 5.2 | 3-Step Wizard UI bauen | [ ] | HIGH |
| 5.3 | Step 1: Domain + Preis Input (Fixpreis oder Verhandlungsbasis) | [ ] | HIGH |
| 5.4 | Step 2: DNS Verification Code generieren | [ ] | HIGH |
| 5.5 | Step 2: "Verify DNS" Button mit TXT-Record Check | [ ] | HIGH |
| 5.6 | Step 3: Publish mit Bestätigung | [ ] | MEDIUM |
| 5.7 | "✅ Verified Owner" Badge nach Verifizierung | [ ] | HIGH |
| 5.8 | Tier-Check: Scout blockiert, nur Trader/Tycoon | [ ] | HIGH |
| 5.9 | Listing-Limit pro Tier (Trader: 5, Tycoon: 50) | [ ] | MEDIUM |
| 5.10 | Backend: DNS TXT Record Verification API | [ ] | HIGH |
Aktueller Stand in Codebase:
command/listings/page.tsx- Listings-Verwaltung- ⚠️ Kein DNS-Verification Wizard
- ⚠️ Keine TXT-Record Prüfung
⚙️ Modul 6: SETTINGS
Route: /terminal/settings
Konzept-Features:
- Subscription (Upgrade/Downgrade via Stripe)
- Verification (Handynummer, Identity Badge)
- Notifications (Daily Digest, Instant SMS)
Checkliste:
| # | Task | Status | Priorität |
|---|---|---|---|
| 6.1 | Subscription-Management via Stripe Customer Portal | [ ] | HIGH |
| 6.2 | Handynummer-Verifizierung (SMS Code) | [ ] | MEDIUM |
| 6.3 | "Identity Verified" Badge System | [ ] | LOW |
| 6.4 | Notification-Einstellungen (Daily Digest Toggle) | [ ] | MEDIUM |
| 6.5 | Notification-Einstellungen (Instant SMS Toggle) | [ ] | MEDIUM |
| 6.6 | E-Mail Preferences | [ ] | MEDIUM |
Aktueller Stand in Codebase:
command/settings/page.tsx- Settings vorhanden ✅- ⚠️ Stripe Portal Link prüfen
- ⚠️ Keine SMS-Verifizierung
🎨 UI/UX Verbesserungen
Global Search (CMD+K)
| # | Task | Status | Priorität |
|---|---|---|---|
| G1 | Gleichzeitige Suche: Whois Check | [ ] | HIGH |
| G2 | Gleichzeitige Suche: Auktionen durchsuchen | [ ] | HIGH |
| G3 | Gleichzeitige Suche: Pounce Marketplace | [ ] | HIGH |
| G4 | Ergebnisse gruppiert anzeigen | [ ] | MEDIUM |
| G5 | Quick Actions (Track, Bid, View) | [ ] | MEDIUM |
Pounce Score Algorithmus
| # | Task | Status | Priorität |
|---|---|---|---|
| P1 | Score-Berechnung definieren (0-100) | [ ] | HIGH |
| P2 | Faktoren: Domain-Länge, TLD-Wert, Keine Zahlen/Bindestriche | [ ] | HIGH |
| P3 | Faktoren: Keyword-Relevanz | [ ] | MEDIUM |
| P4 | Spam-Score inverse (High Score = Low Spam) | [ ] | HIGH |
| P5 | Farbcodierung: Grün >80, Gelb 40-80, Rot <40 | [ ] | MEDIUM |
Ticker/Laufband
| # | Task | Status | Priorität |
|---|---|---|---|
| T1 | Ticker-Komponente mit horizontalem Scroll | [ ] | MEDIUM |
| T2 | Live TLD-Preisänderungen | [ ] | MEDIUM |
| T3 | Watchlist-Alerts (Domain offline, etc.) | [ ] | HIGH |
| T4 | Neue Hot Auctions | [ ] | LOW |
🔧 Backend-Änderungen
| # | Task | Status | Priorität |
|---|---|---|---|
| B1 | spam_score Spalte in domains Tabelle |
[ ] | HIGH |
| B2 | Spam-Score Berechnung beim Import | [ ] | HIGH |
| B3 | DNS Health Check Cronjob (alle 6h) | [ ] | HIGH |
| B4 | DNS TXT Record Verification Endpoint | [ ] | HIGH |
| B5 | Domain Status Change Detection | [ ] | HIGH |
| B6 | Alert-Email bei Status-Änderung | [ ] | HIGH |
📂 Dateien die geändert werden müssen
Umbenennungen (Phase 1)
| Datei | Aktion |
|---|---|
frontend/src/app/command/ |
→ frontend/src/app/terminal/ |
frontend/src/components/CommandCenterLayout.tsx |
→ TerminalLayout.tsx |
Alle CommandCenterLayout Imports |
Aktualisieren |
frontend/src/components/Sidebar.tsx |
Navigation Links aktualisieren |
frontend/src/components/Header.tsx |
Links zu /terminal |
frontend/src/app/login/page.tsx |
Redirect zu /terminal/radar |
frontend/src/app/register/page.tsx |
Redirect zu /terminal/radar |
frontend/src/app/oauth/callback/page.tsx |
Redirect aktualisieren |
Zusammenführungen (Phase 2)
| Alt | Neu |
|---|---|
command/auctions/ + command/marketplace/ |
→ terminal/market/ |
command/watchlist/ + command/portfolio/ |
→ terminal/watchlist/ |
command/dashboard/ |
→ terminal/radar/ |
command/pricing/ |
→ terminal/intel/ |
command/listings/ |
→ terminal/listing/ |
command/settings/ |
→ terminal/settings/ |
Zu löschen (Phase 4)
| Datei | Grund |
|---|---|
command/alerts/ |
In RADAR integriert |
command/seo/ |
Später als Premium-Feature |
Alte /command Ordner |
Nach Migration |
🚀 Empfohlene Reihenfolge
Sprint 1: Foundation (2-3 Tage)
- ✅ Route-Umbenennung
/command→/terminal - ✅ Layout-Umbenennung
- ✅ Sidebar aktualisieren
- ✅ Redirects einrichten
Sprint 2: Core Modules (3-4 Tage)
- 🔄 RADAR (Dashboard) aufbauen
- 🔄 MARKET (Auctions + Marketplace) zusammenführen
- 🔄 WATCHLIST (Watchlist + Portfolio) zusammenführen
Sprint 3: Features (3-4 Tage)
- 🔜 Pounce Score implementieren
- 🔜 Spam Filter
- 🔜 DNS Verification für Listings
- 🔜 Universal Search verbessern
Sprint 4: Polish (2 Tage)
- 🔜 Ticker-Komponente
- 🔜 Health Check System
- 🔜 Alert-Emails
- 🔜 Cleanup & Testing
📈 Metriken für Erfolg
- Alle Routen funktionieren unter
/terminal/* - Kein 404 bei alten
/command/*URLs (Redirects) - Pounce Score für alle Domains sichtbar
- Spam-Filter filtert >90% der schlechten Domains
- DNS-Verification funktioniert für Listings
- Health-Check System läuft (6h Intervall)
- Universal Search zeigt alle 3 Quellen
Erstellt: $(date) Basierend auf: pounce_strategy.md, pounce_terminal.md, pounce_features.md, pounce_plan.md