24 Commits

Author SHA1 Message Date
1b1aea6f07 refactor: Terminal Module Restructure (Sprint 2)
- RADAR: dashboard → /terminal/radar
- MARKET: auctions + marketplace → /terminal/market
- INTEL: pricing → /terminal/intel
- WATCHLIST: watchlist + portfolio → /terminal/watchlist
- LISTING: listings → /terminal/listing

All redirects configured for backwards compatibility.
Updated sidebar navigation with new module names.
2025-12-10 21:44:36 +01:00
bde898e62f refactor: Rename Command Center to Terminal (Sprint 1)
- Renamed /command/* routes to /terminal/*
- Renamed CommandCenterLayout to TerminalLayout
- Updated all internal links
- Added permanent redirects from /command/* to /terminal/*
- Updated Sidebar navigation
- Added concept docs (pounce_*.md)
2025-12-10 21:39:53 +01:00
a41e28c420 fix: Seamless user journey for register/login/Stripe
PROBLEM: Redirect parameters were getting lost during user flows

FIXES APPLIED:

1. Register Page:
   - Default redirect: /command/dashboard (was /dashboard)
   - Stores redirect in localStorage before email verification
   - Preserves redirect when linking to login page

2. Login Page:
   - Checks localStorage for stored redirect (from registration)
   - Clears stored redirect after successful login
   - Uses useState for dynamic redirect handling

3. OAuth Callback:
   - Default redirect: /command/dashboard (was /dashboard)
   - Backend OAuth endpoints also updated

4. Fixed all /dashboard → /command/dashboard links:
   - pricing/page.tsx
   - page.tsx (landing page)
   - AdminLayout.tsx
   - DomainChecker.tsx
   - command/dashboard/page.tsx
   - Header.tsx (simplified check)

5. Backend OAuth:
   - Default redirect_path: /command/dashboard

NEW USER JOURNEY:

Pricing → Register → Email Verify → Login → Pricing → Stripe
                                                    ↓
                                            Welcome Page
                                                    ↓
                                              Dashboard

The redirect is preserved throughout:
- Query param ?redirect=/pricing passed through register/login
- Stored in localStorage during email verification gap
- Cleaned up after successful login

STRIPE FLOW CLARIFICATION:
- Stripe does NOT create users
- Users must register FIRST with email/password
- Then they can upgrade via Stripe checkout
- This is by design for security and flexibility
2025-12-10 16:23:16 +01:00
3ed5a1fc6d feat: Rename 'TLD Intelligence' to 'TLD Pricing' + implement analysis_4.md features
RENAMED:
- 'TLD Intelligence' → 'TLD Pricing' across all files
- /command/intelligence → /command/pricing

NEW FEATURES (from analysis_4.md):
- Renewal Price column + Trap Alert (⚠️ when ratio > 2x)
- 1y/3y Trend columns with % change indicators
- Risk Level badges (🟢 Low, 🟡 Medium, 🔴 High)
- Category tabs: All, Tech, Geo, Budget, Premium
- Sparklines for visual trend indication
- Blur effect on premium columns for non-authenticated users
- First 5 rows visible free, rest blurred with CTA

FILES UPDATED:
- frontend/src/components/Sidebar.tsx (link + label)
- frontend/src/components/Header.tsx (label)
- frontend/src/components/Footer.tsx (label)
- frontend/src/hooks/useKeyboardShortcuts.tsx (routes)
- frontend/src/app/command/dashboard/page.tsx (links)
- frontend/src/app/command/settings/page.tsx (links)
- frontend/src/app/command/pricing/page.tsx (full rewrite)
- frontend/src/app/intelligence/page.tsx (public page, full rewrite)
- frontend/src/app/admin/page.tsx (new TLD Pricing tab)
- frontend/src/app/page.tsx (label update)
2025-12-10 13:29:47 +01:00
1e6036c03f feat: Marketplace navigation + SEO fix + tab-based listings
MARKETPLACE INTEGRATION:
- Added 'Marketplace' (/buy) to public Header navigation
- Renamed 'For Sale' to 'Marketplace' in Command Center Sidebar

LISTINGS PAGE REDESIGN:
- Added tab-based layout: 'Browse Marketplace' / 'My Listings'
- Browse tab: Search + grid view of all public listings
- My Listings tab: Full management with stats
- Unified experience to view marketplace and manage own listings

SEO JUICE DETECTOR FIX:
- Fixed 500 error when database table doesn't exist
- Added fallback: _format_dict_response for when DB is unavailable
- Service now gracefully handles missing tables
- Returns estimated data even on cache failures
2025-12-10 12:05:49 +01:00
b3e6c9aef6 refactor: Separate public pages from authenticated Command Center
STRUCTURE:
- Public pages: /auctions, /intelligence (with Header/Footer, no login needed)
- Command Center: /command/* (with Sidebar, login required)
  - /command/dashboard
  - /command/watchlist
  - /command/portfolio
  - /command/auctions
  - /command/intelligence
  - /command/settings

CHANGES:
- Created new /command directory structure
- Public auctions page: shows all auction data, CTA for login
- Public intelligence page: shows TLD data, CTA for login
- Updated Sidebar navigation to point to /command/*
- Updated all internal links (Header, Footer, AdminLayout)
- Updated login redirect to /command/dashboard
- Updated keyboard shortcuts to use /command paths
- Added /command redirect to /command/dashboard
2025-12-10 11:02:27 +01:00
cfbc94963a Premium overhaul based on review feedback
- Fix Command Center loading on mobile (add mobile sidebar menu)
- Rename 'Market' to 'Auctions' in navigation (clearer naming)
- Add Vanity Filter for public auctions (hide spam domains)
  - Premium TLDs only for public (.com, .io, .ai, etc.)
  - Max 15 chars, max 1 hyphen, max 2 digits
  - No random consonant strings
- Improve pricing page differentiation
  - Highlight 'Smart spam filter' for Trader
  - Show 'Curated list' vs 'Raw feed'
  - Add sublabels for key features
- Add background effects to Command Center
- Improve responsive design
2025-12-10 08:53:41 +01:00
0447896812 Major navigation overhaul: Add Command Center with Sidebar
- New Sidebar component with collapsible navigation
- New CommandCenterLayout for logged-in users
- Separate routes: /watchlist, /portfolio, /market, /intelligence
- Dashboard with Activity Feed and Market Pulse
- Traffic light status indicators for domain status
- Updated Header for public/logged-in state separation
- Settings page uses new Command Center layout
2025-12-10 08:37:29 +01:00
503ac0f24f feat: Update navigation structure according to concept (Public: Market/TLD Intel, Command Center: Dashboard/Market/Intelligence) 2025-12-10 07:47:30 +01:00
cff0ba0984 feat: Add Admin Panel enhancements, Blog system, and OAuth
Admin Panel:
- User Detail Modal with full profile info
- Bulk tier upgrade for multiple users
- User export to CSV
- Price Alerts overview tab
- Domain Health Check trigger
- Email Test functionality
- Scheduler Status with job info and last runs
- Activity Log for admin actions
- Blog management tab with CRUD

Blog System:
- BlogPost model with full content management
- Public API: list, featured, categories, single post
- Admin API: create, update, delete, publish/unpublish
- Frontend blog listing page with categories
- Frontend blog detail page with styling
- View count tracking

OAuth:
- Google OAuth integration
- GitHub OAuth integration
- OAuth callback handling
- Provider selection on login/register

Other improvements:
- Domain checker with check_all_domains function
- Admin activity logging
- Breadcrumbs component
- Toast notification component
- Various UI/UX improvements
2025-12-09 16:52:54 +01:00
56d5a3f194 refactor: Dashboard & Navigation overhaul
Some checks failed
CI / Frontend Lint & Type Check (push) Has been cancelled
CI / Frontend Build (push) Has been cancelled
CI / Backend Lint (push) Has been cancelled
CI / Backend Tests (push) Has been cancelled
CI / Docker Build (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
Deploy / Build & Push Images (push) Has been cancelled
Deploy / Deploy to Server (push) Has been cancelled
Deploy / Notify (push) Has been cancelled
DASHBOARD CHANGES:
- Stats cards now all neutral (no colored backgrounds)
- Added limit warning with upgrade CTA when domain limit reached
- Removed TLD Price Intelligence section
- Portfolio now uses table layout like Watchlist
- Consistent styling across both tabs

NAVIGATION OVERHAUL:
- New notification center with dropdown
  - Shows available domains with pulsing indicator
  - Empty state when no notifications
  - Link to manage notifications
- New user dropdown menu
  - Shows user info and plan tier
  - Domain usage (X/Y domains)
  - Quick links to Dashboard, TLD Pricing, Settings
  - Clean logout option
- Dashboard button more prominent
- Plans link hidden when logged in
- Click-outside closes dropdowns

MOBILE:
- User info shown at top of mobile menu
- Plan tier and domain usage visible
- All navigation items accessible
2025-12-09 09:36:25 +01:00
df4d87a643 feat: Auto-admin for specific email + POUNCE branding
Some checks failed
CI / Frontend Lint & Type Check (push) Has been cancelled
CI / Frontend Build (push) Has been cancelled
CI / Backend Lint (push) Has been cancelled
CI / Backend Tests (push) Has been cancelled
CI / Docker Build (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
Deploy / Build & Push Images (push) Has been cancelled
Deploy / Deploy to Server (push) Has been cancelled
Deploy / Notify (push) Has been cancelled
- guggeryves@hotmail.com automatically gets admin rights on registration
- Changed navigation logo from 'pounce' to 'POUNCE' (uppercase)
- Adjusted letter-spacing for better visual appearance
2025-12-08 16:10:58 +01:00
b5a0d17689 feat: Complete admin dashboard and improved navigation
Some checks failed
CI / Frontend Lint & Type Check (push) Has been cancelled
CI / Frontend Build (push) Has been cancelled
CI / Backend Lint (push) Has been cancelled
CI / Backend Tests (push) Has been cancelled
CI / Docker Build (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
Deploy / Build & Push Images (push) Has been cancelled
Deploy / Deploy to Server (push) Has been cancelled
Deploy / Notify (push) Has been cancelled
Navigation Header:
- Playfair Display font for 'pounce' logo (explicit style)
- Perfect vertical centering with h-full on containers
- Consistent text sizes (0.8125rem / 13px)

Admin Dashboard (/admin):
- Overview tab: User stats, subscription breakdown, quick actions
- Users tab: Search, list, upgrade tier, toggle admin
- Newsletter tab: List subscribers, export emails
- TLD tab: Price data stats, trigger manual scrape
- System tab: Health status, environment info

Backend Admin API:
- Added is_admin field to User model
- Admin authentication via require_admin dependency
- GET /admin/stats - Dashboard statistics
- GET/PATCH/DELETE /admin/users - User management
- POST /admin/users/{id}/upgrade - Tier upgrades
- GET /admin/newsletter - Subscriber list
- GET /admin/newsletter/export - Email export
- POST /admin/scrape-tld-prices - Manual TLD scrape
- GET /admin/tld-prices/stats - TLD data statistics
- GET /admin/system/health - System health check
- POST /admin/system/make-admin - Initial admin setup

Frontend API:
- Added AdminApiClient with all admin endpoints
- getAdminStats, getAdminUsers, updateAdminUser
- upgradeUser, getAdminNewsletter, exportNewsletterEmails
- triggerTldScrape, getSystemHealth, makeUserAdmin
2025-12-08 16:05:53 +01:00
1efc7fe28e fix: TypeScript conflicts and improve navigation styling
Some checks failed
CI / Frontend Lint & Type Check (push) Has been cancelled
CI / Frontend Build (push) Has been cancelled
CI / Backend Lint (push) Has been cancelled
CI / Backend Tests (push) Has been cancelled
CI / Docker Build (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
Deploy / Build & Push Images (push) Has been cancelled
Deploy / Deploy to Server (push) Has been cancelled
Deploy / Notify (push) Has been cancelled
TypeScript Fixes:
- Cleared TypeScript cache to resolve @types/node conflicts
- Reinstalled node_modules with fresh package-lock.json
- Removed duplicate type definitions from cache

Navigation Improvements:
- Logo uses Playfair Display font (same as titles)
- Consistent font-display class for 'pounce' wordmark
- Perfect vertical centering using flex + h-9 for all nav items
- Removed unused Image import
- Unified button/link heights (36px/h-9) for visual consistency
- Improved hover states with consistent sizing
2025-12-08 15:48:44 +01:00
9745d1851f feat: Replace navigation logo with bold text wordmark
Some checks failed
CI / Frontend Lint & Type Check (push) Has been cancelled
CI / Frontend Build (push) Has been cancelled
CI / Backend Lint (push) Has been cancelled
CI / Backend Tests (push) Has been cancelled
CI / Docker Build (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
Deploy / Build & Push Images (push) Has been cancelled
Deploy / Deploy to Server (push) Has been cancelled
Deploy / Notify (push) Has been cancelled
- Removed puma image from header navigation
- Replaced with bold 'pounce' text wordmark
- Uses Playfair Display font (font-display)
- Responsive sizing: 1.5rem (mobile) to 1.75rem (desktop)
- Clean, minimal, professional appearance
- Removed unused Image import dependency
2025-12-08 15:35:38 +01:00
b641ab0b8f fix: Mobile optimization improvements
Some checks failed
CI / Frontend Lint & Type Check (push) Has been cancelled
CI / Frontend Build (push) Has been cancelled
CI / Backend Lint (push) Has been cancelled
CI / Backend Tests (push) Has been cancelled
CI / Docker Build (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
Deploy / Build & Push Images (push) Has been cancelled
Deploy / Deploy to Server (push) Has been cancelled
Deploy / Notify (push) Has been cancelled
Settings Page:
- Horizontal scrollable tabs on mobile (< lg breakpoint)
- Vertical sidebar on desktop (lg+)
- Hide plan info card on mobile (visible in billing tab)

Header:
- Added Settings link in mobile menu for authenticated users

Global CSS:
- Added scrollbar-hide utility class
- Added smooth scrolling for touch devices
- Added touch-pan-x for horizontal scroll areas
- Removed tap highlight on mobile
- select-none utility class
2025-12-08 15:27:42 +01:00
3ae2ef45d9 feat: Complete all missing functional features
Some checks failed
CI / Frontend Lint & Type Check (push) Has been cancelled
CI / Frontend Build (push) Has been cancelled
CI / Backend Lint (push) Has been cancelled
CI / Backend Tests (push) Has been cancelled
CI / Docker Build (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
Deploy / Build & Push Images (push) Has been cancelled
Deploy / Deploy to Server (push) Has been cancelled
Deploy / Notify (push) Has been cancelled
Dashboard Improvements:
- Portfolio: Sell Domain Modal mit Profit-Vorschau
- Portfolio: Edit Domain Modal für alle Felder
- Watchlist: Notification Toggle Button (Bell Icon)
- Neue Handler-Funktionen für alle Aktionen

New Pages:
- /settings - Profile, Notifications, Billing, Security
- /blog/[slug] - Blog Detail Page mit Share-Buttons
- /unsubscribe - Newsletter Unsubscribe Seite

Navigation Updates:
- Settings Icon im Header für eingeloggte User
- Unsubscribe Link im Footer (Legal Section)

API Additions:
- updateDomainNotify() für Watchlist-Benachrichtigungen
2025-12-08 15:07:12 +01:00
38a5ebd8a4 feat: Transparent Portfolio Valuation & Smart Pounce Auctions
PORTFOLIO VALUATION (100% Transparent):
- Completely rewritten valuation algorithm with clear formula
- Shows exact calculation: Base × Length × TLD × Keyword × Brand
- Each factor explained with reason (e.g., '4-letter domain ×5.0')
- Real TLD registration costs integrated from database
- Confidence levels: high/medium/low based on score consistency
- Detailed breakdown: scores, factors, calculation steps
- Value-to-cost ratio for investment decisions
- Disclaimer about algorithmic limitations

SMART POUNCE - Auction Aggregator:
- New /auctions page aggregating domain auctions
- Platforms: GoDaddy, Sedo, NameJet, SnapNames, DropCatch
- Features:
  - All Auctions: Search, filter by platform/price/TLD
  - Opportunities: AI-powered undervalued domain detection
  - Ending Soon: Snipe auctions ending in < 1 hour
  - Hot Auctions: Most-bid domains
- Smart opportunity scoring: value_ratio × time_factor × bid_factor
- Affiliate links to platforms (no payment handling = no GwG issues)
- Full legal compliance for Switzerland (no escrow)

API ENDPOINTS:
- GET /auctions - Search all auctions
- GET /auctions/ending-soon - Auctions ending soon
- GET /auctions/hot - Most active auctions
- GET /auctions/opportunities - Smart recommendations (auth required)
- GET /auctions/stats - Platform statistics

UI UPDATES:
- New 'Auctions' link in navigation (desktop + mobile)
- Auction cards with bid info, time remaining, platform badges
- Opportunity analysis with profit potential
- Color-coded time urgency (red < 1h, yellow < 2h)
2025-12-08 13:39:01 +01:00
1a3c057402 fix: Make logo wider and shorter
Logo dimensions:
- Header: 128px (mobile) / 160px (desktop) width, auto height
- Footer: 112px width, auto height
- Login/Register: 112px width, auto height
- Header height reduced to 64px/80px to match

Logo now has landscape orientation with ~10rem width
2025-12-08 10:50:17 +01:00
38607a52e2 fix: Make logo much larger (2x size)
New sizes:
- Header: 80px (mobile) → 96px (desktop) [was 48-56px]
- Header height: Increased to 80px/96px to accommodate logo
- Footer: 64px [was 48px]
- Login/Register: 80px [was 64px]

Logo is now prominently displayed
2025-12-08 10:49:26 +01:00
013758c404 fix: Increase logo sizes significantly
New sizes:
- Header: 48px (mobile) → 56px (desktop) [was 32-36px]
- Footer: 48px [was 40px]
- Login/Register: 64px [was 48px]

Logo is now much more prominent and visible
2025-12-08 10:48:34 +01:00
48368fe026 feat: Replace text logo with puma icon
Changes:
- Added pounce-logo.png to /public
- Updated Header.tsx: Replaced text logo with Image component
- Updated Footer.tsx: Replaced text logo with Image component
- Updated login/page.tsx: Replaced text logo with Image component
- Updated register/page.tsx: Replaced text logo with Image component

Logo sizing:
- Header: 32px (mobile) / 36px (desktop)
- Footer: 40px
- Login/Register: 48px

All logos use Next.js Image component for optimization
2025-12-08 10:47:16 +01:00
48b33e9252 Improve UX: Add Footer everywhere, unified max-width, beautiful charts
- Added Footer component to all pages (home, dashboard, TLD pages)
- Changed max-width from 6xl to 7xl for consistent layout
- Enhanced mini-charts with gradients, area fills, and data points
- Better visual hierarchy and spacing
- Consistent design across all pages
2025-12-08 07:46:58 +01:00
9acb90c067 Initial commit: Pounce - Domain Monitoring System
- FastAPI backend mit Domain-Check, TLD-Pricing, User-Management
- Next.js frontend mit modernem UI
- Sortierbare TLD-Tabelle mit Mini-Charts
- Domain availability monitoring
- Subscription tiers (Starter, Professional, Enterprise)
- Authentication & Authorization
- Scheduler für automatische Domain-Checks
2025-12-08 07:26:57 +01:00