From cab8cef6795d36abbd86db42726ade638b8d3181 Mon Sep 17 00:00:00 2001 From: "yves.gugger" Date: Mon, 8 Dec 2025 10:15:44 +0100 Subject: [PATCH] feat: Professional TLD detail page overhaul MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Hero section with prominent pricing and quick registration link - Interactive line chart with 1M/3M/1Y/ALL time period selection - Integrated domain search directly on TLD page - Smart registrar comparison table with external links - Savings calculator showing cost savings vs most expensive registrar - Renewal price warning indicator (⚠️) for high renewal fees - Related TLDs section with smart suggestions - Price alert modal for email notifications - Responsive design for all screen sizes - Loading skeletons and error states --- README.md | 11 + backend/backend.pid | 1 + frontend/src/app/tld-pricing/[tld]/page.tsx | 867 +++++++++++++++----- memory-bank/activeContext.md | 35 + memory-bank/productContext.md | 55 ++ memory-bank/progress.md | 30 + memory-bank/projectbrief.md | 33 + memory-bank/systemPatterns.md | 79 ++ memory-bank/techContext.md | 88 ++ pounce-deploy.zip | Bin 0 -> 126138 bytes 10 files changed, 972 insertions(+), 227 deletions(-) create mode 100644 backend/backend.pid create mode 100644 memory-bank/activeContext.md create mode 100644 memory-bank/productContext.md create mode 100644 memory-bank/progress.md create mode 100644 memory-bank/projectbrief.md create mode 100644 memory-bank/systemPatterns.md create mode 100644 memory-bank/techContext.md create mode 100644 pounce-deploy.zip diff --git a/README.md b/README.md index 19d66f5..796cb83 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,17 @@ A professional full-stack application for monitoring domain name availability wi - **Authentication** — Secure JWT-based auth with subscription tiers - **Dashboard** — Personal watchlist with status indicators and actions +### TLD Detail Page (Professional) +- **Price Hero** — Instant view of cheapest price with direct registration link +- **Price Alert System** — Subscribe to email notifications for price changes +- **Interactive Price Chart** — 1M/3M/1Y/ALL time periods with hover tooltips +- **Domain Search** — Check availability directly on the TLD page +- **Registrar Comparison** — Full table with Register/Renew/Transfer prices + external links +- **Savings Calculator** — Shows how much you save vs most expensive registrar +- **Renewal Warning** — ⚠️ indicator when renewal price is >1.5x registration price +- **Related TLDs** — Smart suggestions based on current TLD (e.g., .com → .net, .org, .io) +- **Quick Stats** — Average price, price range, 30-day change, registrar count + --- ## Tech Stack diff --git a/backend/backend.pid b/backend/backend.pid new file mode 100644 index 0000000..df260d9 --- /dev/null +++ b/backend/backend.pid @@ -0,0 +1 @@ +4645 diff --git a/frontend/src/app/tld-pricing/[tld]/page.tsx b/frontend/src/app/tld-pricing/[tld]/page.tsx index a87d857..54b20cb 100644 --- a/frontend/src/app/tld-pricing/[tld]/page.tsx +++ b/frontend/src/app/tld-pricing/[tld]/page.tsx @@ -1,9 +1,10 @@ 'use client' -import { useEffect, useState } from 'react' -import { useParams } from 'next/navigation' +import { useEffect, useState, useMemo } from 'react' +import { useParams, useRouter } from 'next/navigation' import { Header } from '@/components/Header' import { Footer } from '@/components/Footer' +import { useStore } from '@/lib/store' import { api } from '@/lib/api' import { ArrowLeft, @@ -13,9 +14,19 @@ import { Calendar, Globe, Building, - DollarSign, - ArrowRight, ExternalLink, + Bell, + Search, + ChevronRight, + Sparkles, + Shield, + Clock, + Users, + ArrowUpRight, + ArrowDownRight, + Info, + Check, + X, } from 'lucide-react' import Link from 'next/link' import clsx from 'clsx' @@ -48,35 +59,73 @@ interface TldHistory { price_change_7d: number price_change_30d: number price_change_90d: number + trend: string history: Array<{ date: string price: number }> } +// Registrar URLs for affiliate/direct links +const REGISTRAR_URLS: Record = { + 'Namecheap': 'https://www.namecheap.com/domains/registration/results/?domain=', + 'Porkbun': 'https://porkbun.com/checkout/search?q=', + 'Cloudflare': 'https://www.cloudflare.com/products/registrar/', + 'Google Domains': 'https://domains.google.com/registrar/search?searchTerm=', + 'GoDaddy': 'https://www.godaddy.com/domainsearch/find?domainToCheck=', + 'porkbun': 'https://porkbun.com/checkout/search?q=', +} + +// Related TLDs mapping +const RELATED_TLDS: Record = { + 'com': ['net', 'org', 'co', 'io', 'biz'], + 'net': ['com', 'org', 'io', 'tech', 'dev'], + 'org': ['com', 'net', 'ngo', 'foundation', 'charity'], + 'io': ['dev', 'app', 'tech', 'ai', 'co'], + 'ai': ['io', 'tech', 'dev', 'ml', 'app'], + 'dev': ['io', 'app', 'tech', 'code', 'software'], + 'app': ['dev', 'io', 'mobile', 'software', 'tech'], + 'co': ['com', 'io', 'biz', 'company', 'inc'], + 'de': ['at', 'ch', 'eu', 'com', 'net'], + 'ch': ['de', 'at', 'li', 'eu', 'com'], + 'uk': ['co.uk', 'org.uk', 'eu', 'com', 'net'], +} + +type ChartPeriod = '1M' | '3M' | '1Y' | 'ALL' + export default function TldDetailPage() { const params = useParams() + const router = useRouter() + const { isAuthenticated } = useStore() const tld = params.tld as string const [details, setDetails] = useState(null) const [history, setHistory] = useState(null) + const [relatedTlds, setRelatedTlds] = useState>([]) const [loading, setLoading] = useState(true) const [error, setError] = useState(null) + const [chartPeriod, setChartPeriod] = useState('1Y') + const [domainSearch, setDomainSearch] = useState('') + const [checkingDomain, setCheckingDomain] = useState(false) + const [domainResult, setDomainResult] = useState<{ available: boolean; domain: string } | null>(null) + const [hoveredPoint, setHoveredPoint] = useState<{ x: number; y: number; price: number; date: string } | null>(null) + const [alertEmail, setAlertEmail] = useState('') + const [showAlertModal, setShowAlertModal] = useState(false) useEffect(() => { if (tld) { loadData() + loadRelatedTlds() } }, [tld]) const loadData = async () => { try { const [historyData, compareData] = await Promise.all([ - api.getTldHistory(tld, 365), // Get full year for better trend data + api.getTldHistory(tld, 365), api.getTldCompare(tld), ]) - // Build details from API data if (historyData && compareData) { const registrars = compareData.registrars || [] const priceRange = compareData.price_range || { min: 0, max: 0, avg: 0 } @@ -94,7 +143,9 @@ export default function TldDetailPage() { min: priceRange.min || historyData.current_price || 0, max: priceRange.max || historyData.current_price || 0, }, - registrars: registrars.sort((a: { registration_price: number }, b: { registration_price: number }) => a.registration_price - b.registration_price), + registrars: registrars.sort((a: { registration_price: number }, b: { registration_price: number }) => + a.registration_price - b.registration_price + ), cheapest_registrar: compareData.cheapest_registrar || registrars[0]?.name || 'N/A', }) setHistory(historyData) @@ -109,21 +160,104 @@ export default function TldDetailPage() { } } - const getTrendIcon = (trend: string) => { - switch (trend) { - case 'up': - return - case 'down': - return - default: - return + const loadRelatedTlds = async () => { + const related = RELATED_TLDS[tld.toLowerCase()] || ['com', 'net', 'org', 'io'] + const relatedData: Array<{ tld: string; price: number }> = [] + + for (const relatedTld of related.slice(0, 4)) { + try { + const data = await api.getTldHistory(relatedTld, 30) + if (data) { + relatedData.push({ tld: relatedTld, price: data.current_price }) + } + } catch { + // Skip failed TLDs + } + } + setRelatedTlds(relatedData) + } + + const filteredHistory = useMemo(() => { + if (!history?.history) return [] + + const now = new Date() + let cutoffDays = 365 + + switch (chartPeriod) { + case '1M': cutoffDays = 30; break + case '3M': cutoffDays = 90; break + case '1Y': cutoffDays = 365; break + case 'ALL': cutoffDays = 9999; break + } + + const cutoff = new Date(now.getTime() - cutoffDays * 24 * 60 * 60 * 1000) + return history.history.filter(h => new Date(h.date) >= cutoff) + }, [history, chartPeriod]) + + const chartStats = useMemo(() => { + if (filteredHistory.length === 0) return { high: 0, low: 0, avg: 0 } + const prices = filteredHistory.map(h => h.price) + return { + high: Math.max(...prices), + low: Math.min(...prices), + avg: prices.reduce((a, b) => a + b, 0) / prices.length, + } + }, [filteredHistory]) + + const handleDomainCheck = async () => { + if (!domainSearch.trim()) return + + setCheckingDomain(true) + setDomainResult(null) + + try { + const domain = domainSearch.includes('.') ? domainSearch : `${domainSearch}.${tld}` + const result = await api.checkDomain(domain, true) + setDomainResult({ available: result.is_available, domain }) + } catch (err) { + console.error('Domain check failed:', err) + } finally { + setCheckingDomain(false) } } + const getRegistrarUrl = (registrarName: string, domain?: string) => { + const baseUrl = REGISTRAR_URLS[registrarName] + if (!baseUrl) return '#' + if (domain) return `${baseUrl}${domain}` + return baseUrl + } + + const savings = useMemo(() => { + if (!details || details.registrars.length < 2) return null + const cheapest = details.registrars[0].registration_price + const mostExpensive = details.registrars[details.registrars.length - 1].registration_price + return { + amount: mostExpensive - cheapest, + cheapestName: details.registrars[0].name, + expensiveName: details.registrars[details.registrars.length - 1].name, + } + }, [details]) + if (loading) { return ( -
-
+
+
+
+
+ {/* Loading skeleton */} +
+
+
+
+ {[1, 2, 3].map(i => ( +
+ ))} +
+
+
+
+
) } @@ -134,274 +268,553 @@ export default function TldDetailPage() {
-

{error || 'TLD not found'}

+
+ +
+

TLD Not Found

+

{error || `The TLD .${tld} could not be found.`}

Back to TLD Overview
+
) } return ( -
+
{/* Ambient glow */} -
-
+
+
+
-
-
- {/* Back Link */} - - - All TLDs - +
+
+ + {/* Breadcrumb */} + - {/* Header */} -
-
-
-

- .{details.tld} -

-

{details.description}

+ {/* Hero Section */} +
+
+ {/* Left: TLD Info */} +
+
+

+ .{details.tld} +

+
+ {details.trend === 'up' ? : + details.trend === 'down' ? : + } + {details.trend === 'up' ? 'Rising' : details.trend === 'down' ? 'Falling' : 'Stable'} +
+
+

{details.description}

+

{details.trend_reason}

-
- {getTrendIcon(details.trend)} - +
+ + ${details.pricing.min.toFixed(2)} + + /year +
+

+ Cheapest at {details.cheapest_registrar} +

+ +
+ + Register at ${details.pricing.min.toFixed(2)} + + + +
+ + {savings && savings.amount > 0.5 && ( +
+
+ +

+ Save ${savings.amount.toFixed(2)}/yr vs {savings.expensiveName} +

+
+
+ )} +
+
+ + {/* Quick Stats */} +
+
+

Average

+

${details.pricing.avg.toFixed(2)}

+
+
+

Range

+

+ ${details.pricing.min.toFixed(2)} - ${details.pricing.max.toFixed(2)} +

+
+
+

30-Day Change

+

0 ? "text-orange-400" : + history && history.price_change_30d < 0 ? "text-accent" : + "text-foreground" )}> - {details.trend === 'up' ? 'Rising' : details.trend === 'down' ? 'Falling' : 'Stable'} - + {history ? `${history.price_change_30d > 0 ? '+' : ''}${history.price_change_30d.toFixed(2)}%` : '—'} +

+
+
+

Registrars

+

{details.registrars.length}

-
-

{details.trend_reason}

-
- - {/* Price Stats */} -
-
-

Average Price

-

- ${details.pricing.avg.toFixed(2)}/yr -

-
-
-

Cheapest

-

- ${details.pricing.min.toFixed(2)}/yr -

-

at {details.cheapest_registrar}

-
-
-

Price Range

-

- ${details.pricing.min.toFixed(2)} - ${details.pricing.max.toFixed(2)} -

- {/* Price Changes */} - {history && ( -
-

Price Changes

-
-
-

7 Days

-

0 ? "text-warning" : - history.price_change_7d < 0 ? "text-accent" : - "text-foreground-muted" - )}> - {history.price_change_7d > 0 ? '+' : ''}{history.price_change_7d.toFixed(2)}% -

-
-
-

30 Days

-

0 ? "text-warning" : - history.price_change_30d < 0 ? "text-accent" : - "text-foreground-muted" - )}> - {history.price_change_30d > 0 ? '+' : ''}{history.price_change_30d.toFixed(2)}% -

-
-
-

90 Days

-

0 ? "text-warning" : - history.price_change_90d < 0 ? "text-accent" : - "text-foreground-muted" - )}> - {history.price_change_90d > 0 ? '+' : ''}{history.price_change_90d.toFixed(2)}% -

+ {/* Price Chart Section */} + {history && filteredHistory.length > 0 && ( +
+
+

Price History

+
+ {(['1M', '3M', '1Y', 'ALL'] as ChartPeriod[]).map(period => ( + + ))}
-
- )} - - {/* Price Chart */} - {history && history.history.length > 0 && ( -
-

90-Day Price History

-
-
- {history.history.map((point, i) => { - const prices = history.history.map(p => p.price) - const minPrice = Math.min(...prices) - const maxPrice = Math.max(...prices) - const range = maxPrice - minPrice || 1 - const height = ((point.price - minPrice) / range) * 100 - const isLast = i === history.history.length - 1 + +
+ {/* Chart */} +
setHoveredPoint(null)} + > + + + + + + + - return ( -
- ) - })} + {/* Grid lines */} + {[0, 25, 50, 75, 100].map(y => ( + + ))} + + {/* Area fill */} + { + const x = (i / (filteredHistory.length - 1)) * 100 + const y = 100 - ((point.price - chartStats.low) / (chartStats.high - chartStats.low || 1)) * 90 - 5 + return `L ${x} ${y}` + }).join(' ')} + L 100 100 L 0 100 Z + `} + fill="url(#chartGradient)" + /> + + {/* Line */} + { + const x = (i / (filteredHistory.length - 1)) * 100 + const y = 100 - ((point.price - chartStats.low) / (chartStats.high - chartStats.low || 1)) * 90 - 5 + return `${x},${y}` + }).join(' ')} + fill="none" + stroke="#00d4aa" + strokeWidth="0.8" + strokeLinecap="round" + strokeLinejoin="round" + /> + + {/* Interactive points */} + {filteredHistory.map((point, i) => { + const x = (i / (filteredHistory.length - 1)) * 100 + const y = 100 - ((point.price - chartStats.low) / (chartStats.high - chartStats.low || 1)) * 90 - 5 + return ( + { + const rect = e.currentTarget.ownerSVGElement?.getBoundingClientRect() + if (rect) { + setHoveredPoint({ + x: (x / 100) * rect.width, + y: (y / 100) * rect.height, + price: point.price, + date: point.date, + }) + } + }} + /> + ) + })} + + + {/* Hover tooltip */} + {hoveredPoint && ( +
+

${hoveredPoint.price.toFixed(2)}

+

{hoveredPoint.date}

+
+ )}
-
- {history.history[0]?.date} - Today + + {/* Chart footer */} +
+ {filteredHistory[0]?.date} +
+
+ High: + ${chartStats.high.toFixed(2)} +
+
+ Low: + ${chartStats.low.toFixed(2)} +
+
+ Today
)} - {/* TLD Info */} -
-

TLD Information

-
-
- -
-

Type

-

{details.type}

+ {/* Domain Search */} +
+

+ Search .{details.tld} Domains +

+
+
+
+ setDomainSearch(e.target.value)} + onKeyDown={(e) => e.key === 'Enter' && handleDomainCheck()} + placeholder={`yourname.${tld}`} + className="w-full px-4 py-3 pr-24 bg-background border border-border rounded-xl text-body text-foreground placeholder:text-foreground-subtle focus:outline-none focus:ring-2 focus:ring-accent/30 focus:border-accent transition-all" + /> + + .{tld} +
+
-
- -
-

Registry

-

{details.registry}

+ + {domainResult && ( +
+ {domainResult.available ? ( + <> +
+ +
+
+

{domainResult.domain} is available!

+

Register now from ${details.pricing.min.toFixed(2)}/yr

+
+ + Register + + + ) : ( + <> +
+ +
+
+

{domainResult.domain} is taken

+

Try a different name or TLD

+
+ + )}
-
-
- -
-

Introduced

-

{details.introduced}

-
-
-
- -
-

Registrars

-

{details.registrars.length} available

-
-
+ )}
{/* Registrar Comparison */} -
-

Registrar Comparison

-
- - - - - - - - - - - {details.registrars.map((registrar, i) => ( - - + + + + ))} + +
RegistrarRegisterRenewTransfer
-
- {registrar.name} - {i === 0 && ( - - Cheapest +
+

Compare Registrars

+
+
+ + + + + + + + + + + + {details.registrars.map((registrar, i) => ( + + + + - - - - - ))} - -
RegistrarRegisterRenewTransfer
+
+ {registrar.name} + {i === 0 && ( + + Best Price + + )} +
+
+ + ${registrar.registration_price.toFixed(2)} + + + + ${registrar.renewal_price.toFixed(2)} + + {registrar.renewal_price > registrar.registration_price * 1.5 && ( + + ⚠️ )} - - - - ${registrar.registration_price.toFixed(2)} - - - - ${registrar.renewal_price.toFixed(2)} - - - - ${registrar.transfer_price.toFixed(2)} - -
+
+ + ${registrar.transfer_price.toFixed(2)} + + + + Register + + +
+
+ + {savings && savings.amount > 0.5 && ( +
+
+ +

+ Register at {savings.cheapestName} and save{' '} + ${savings.amount.toFixed(2)}/year compared to {savings.expensiveName} +

+
+
+ )}
+ {/* TLD Info */} +
+

About .{details.tld}

+
+
+ +

Registry

+

{details.registry}

+
+
+ +

Introduced

+

{details.introduced || 'Unknown'}

+
+
+ +

Type

+

{details.type}

+
+
+
+ + {/* Related TLDs */} + {relatedTlds.length > 0 && ( +
+

Similar TLDs

+
+ {relatedTlds.map(related => ( + +

+ .{related.tld} +

+

+ from ${related.price.toFixed(2)}/yr +

+ + ))} +
+
+ )} + {/* CTA */} -
-

+
+

Monitor .{details.tld} Domains

-

- Track availability and get notified when your target domains become available. +

+ Track availability of specific domains and get instant notifications when they become available.

- Start Monitoring - + {isAuthenticated ? 'Go to Dashboard' : 'Start Monitoring Free'} +
+

+ + {/* Price Alert Modal */} + {showAlertModal && ( +
+
+
+

Set Price Alert

+ +
+ +

+ Get notified when .{details.tld} prices change significantly. +

+ + setAlertEmail(e.target.value)} + placeholder="your@email.com" + className="w-full px-4 py-3 mb-4 bg-background border border-border rounded-xl text-body text-foreground placeholder:text-foreground-subtle focus:outline-none focus:ring-2 focus:ring-accent/30 focus:border-accent" + /> + +
+ + +
+
+
+ )}
) } - diff --git a/memory-bank/activeContext.md b/memory-bank/activeContext.md new file mode 100644 index 0000000..65ea1a2 --- /dev/null +++ b/memory-bank/activeContext.md @@ -0,0 +1,35 @@ +# DomainWatch - Active Context + +## Current Status +Project structure and core functionality implemented. + +## Completed +- [x] Backend structure with FastAPI +- [x] Database models (User, Domain, DomainCheck, Subscription) +- [x] Domain checker service (WHOIS + DNS) +- [x] Authentication system (JWT) +- [x] API endpoints for domain management +- [x] Daily scheduler for domain checks +- [x] Next.js frontend with dark theme +- [x] Public domain checker component +- [x] User dashboard for domain monitoring +- [x] Pricing page with tiers + +## Next Steps +1. Install dependencies and test locally +2. Add email notifications when domain becomes available +3. Payment integration (Stripe recommended) +4. Add more detailed WHOIS information display +5. Domain check history page + +## Design Decisions +- **Dark theme** with green accent color (#22c55e) +- **Minimalist UI** with outlined icons only +- **No emojis** - professional appearance +- **Card-based layout** for domain list + +## Known Considerations +- WHOIS rate limiting: Added 0.5s delay between checks +- Some TLDs may not return complete WHOIS data +- DNS-only check is faster but less reliable + diff --git a/memory-bank/productContext.md b/memory-bank/productContext.md new file mode 100644 index 0000000..342ccb3 --- /dev/null +++ b/memory-bank/productContext.md @@ -0,0 +1,55 @@ +# DomainWatch - Product Context + +## Why This Exists +Many domain investors and entrepreneurs want specific domain names that are currently registered. They need to monitor these domains and be alerted immediately when they become available (often when they expire and aren't renewed). + +Existing solutions are: +- Expensive commercial services +- Dependent on external APIs +- Not self-hostable +- Limited in customization + +DomainWatch solves this by providing a fully self-hosted solution with no external dependencies. + +## Problems It Solves + +### 1. Domain Availability Anxiety +Users constantly worry about missing out on a domain becoming available. DomainWatch removes this by automating daily checks. + +### 2. Manual Checking Fatigue +Manually checking WHOIS for multiple domains is time-consuming. The dashboard shows all domains at a glance. + +### 3. External Dependency Risk +Commercial APIs can change pricing, terms, or shut down. WHOIS/DNS lookups work directly and will continue working. + +### 4. Privacy Concerns +Self-hosting means domain watchlists stay private. No third party knows what domains you're interested in. + +## User Experience Goals + +### Public User (No Account) +- Land on homepage +- Enter a domain +- See instant result (available/taken with details) +- Understand value proposition +- Easy path to registration + +### Free User +- Quick registration +- Add up to 3 domains +- See status dashboard +- Manual refresh capability +- Understand upgrade benefits + +### Paid User +- More domains (25 or 100) +- Same clean experience +- Priority support (future) +- API access (future) + +## Key Metrics (Future) +- Domains monitored per user +- Check success rate +- Time to notification (when domain becomes available) +- Conversion rate free → paid + diff --git a/memory-bank/progress.md b/memory-bank/progress.md new file mode 100644 index 0000000..7e1739b --- /dev/null +++ b/memory-bank/progress.md @@ -0,0 +1,30 @@ +# DomainWatch - Progress + +## What Works +- ✅ Full backend API +- ✅ User registration and login +- ✅ JWT authentication +- ✅ Public domain availability check +- ✅ Domain watchlist (add/remove/refresh) +- ✅ Subscription tiers and limits +- ✅ Daily scheduled domain checks +- ✅ Frontend with responsive design +- ✅ Dashboard with domain list +- ✅ Pricing page + +## What's Left +- ⏳ Email notifications +- ⏳ Payment integration +- ⏳ Domain check history view +- ⏳ Password reset functionality +- ⏳ User settings page +- ⏳ Admin dashboard + +## Current Issues +- None known - awaiting first test run + +## Performance Notes +- WHOIS queries: ~1-3 seconds per domain +- DNS queries: ~0.1-0.5 seconds per domain +- Scheduler configured for 6:00 AM daily checks + diff --git a/memory-bank/projectbrief.md b/memory-bank/projectbrief.md new file mode 100644 index 0000000..94685b5 --- /dev/null +++ b/memory-bank/projectbrief.md @@ -0,0 +1,33 @@ +# DomainWatch - Project Brief + +## Overview +DomainWatch is a self-hosted domain availability monitoring application that allows users to check and track domain name availability. + +## Core Features + +### 1. Public Domain Checker +- Instant domain availability check +- No registration required +- Shows WHOIS data (registrar, expiration date, name servers) + +### 2. Subscription-Based Monitoring +- User registration and authentication +- Domain watchlist management +- Three subscription tiers: Free (3 domains), Basic (25 domains), Pro (100 domains) + +### 3. Automated Daily Checks +- Background scheduler runs daily +- Updates all monitored domains +- Stores check history + +## Technical Requirements +- **No external API dependencies** - Uses WHOIS and DNS lookups directly +- **Self-hosted** - Can run on any server +- **No Docker** - Direct deployment +- **Server-ready** - Local development that transfers easily to production + +## Target Users +- Domain investors +- Entrepreneurs waiting for specific domains +- Businesses monitoring competitor domains + diff --git a/memory-bank/systemPatterns.md b/memory-bank/systemPatterns.md new file mode 100644 index 0000000..b1d2494 --- /dev/null +++ b/memory-bank/systemPatterns.md @@ -0,0 +1,79 @@ +# DomainWatch - System Patterns + +## Architecture +``` +┌─────────────────┐ ┌─────────────────┐ +│ Next.js App │────▶│ FastAPI Backend │ +│ (Port 3000) │◀────│ (Port 8000) │ +└─────────────────┘ └────────┬────────┘ + │ + ┌────────────┼────────────┐ + │ │ │ + ┌─────▼─────┐ ┌────▼────┐ ┌────▼────┐ + │ SQLite/ │ │ WHOIS │ │ DNS │ + │ Postgres │ │ Lookups │ │ Lookups │ + └───────────┘ └─────────┘ └─────────┘ +``` + +## Design Patterns + +### Backend +- **Repository Pattern:** Database operations abstracted through SQLAlchemy +- **Service Layer:** Business logic in `/services` (DomainChecker, AuthService) +- **Dependency Injection:** FastAPI's Depends() for DB sessions and auth +- **Async First:** All database and I/O operations are async + +### Frontend +- **Component-Based:** Reusable React components +- **Global State:** Zustand store for auth and domain state +- **API Client:** Centralized API calls in `/lib/api.ts` +- **Server Components:** Next.js 14 App Router with client components where needed + +## Authentication Flow +``` +1. User registers → Creates user + free subscription +2. User logs in → Receives JWT token +3. Token stored in localStorage +4. API requests include Bearer token +5. Backend validates token → Returns user data +``` + +## Domain Checking Strategy +``` +1. Normalize domain (lowercase, remove protocol/www) +2. Quick DNS check (A + NS records) +3. Full WHOIS lookup for details +4. If WHOIS says available but DNS has records → Trust DNS +5. Store result and update domain status +``` + +## Scheduler Pattern +``` +APScheduler (AsyncIO mode) + │ + └── CronTrigger (daily at 06:00) + │ + └── check_all_domains() + │ + ├── Fetch all domains + ├── Check each with 0.5s delay + ├── Update statuses + └── Log newly available domains +``` + +## Database Models +``` +User (1) ─────┬───── (N) Domain + │ + └───── (1) Subscription + +Domain (1) ────── (N) DomainCheck +``` + +## API Response Patterns +- Success: JSON with data +- Error: `{"detail": "error message"}` +- Pagination: `{items, total, page, per_page, pages}` +- Auth errors: 401 Unauthorized +- Permission errors: 403 Forbidden + diff --git a/memory-bank/techContext.md b/memory-bank/techContext.md new file mode 100644 index 0000000..a28b811 --- /dev/null +++ b/memory-bank/techContext.md @@ -0,0 +1,88 @@ +# DomainWatch - Technical Context + +## Tech Stack + +### Backend +- **Framework:** FastAPI (Python 3.11+) +- **Database:** SQLite (development) / PostgreSQL (production) +- **ORM:** SQLAlchemy 2.0 with async support +- **Authentication:** JWT with python-jose, bcrypt for password hashing +- **Scheduling:** APScheduler for background jobs + +### Frontend +- **Framework:** Next.js 14 (App Router) +- **Styling:** Tailwind CSS +- **State Management:** Zustand +- **Icons:** Lucide React (outlined icons) + +### Domain Checking +- **WHOIS:** python-whois library +- **DNS:** dnspython library +- No external APIs required + +## Project Structure + +``` +hushen_test/ +├── backend/ +│ ├── app/ +│ │ ├── api/ # API endpoints +│ │ ├── models/ # Database models +│ │ ├── schemas/ # Pydantic schemas +│ │ ├── services/ # Business logic +│ │ ├── config.py # Settings +│ │ ├── database.py # DB configuration +│ │ ├── main.py # FastAPI app +│ │ └── scheduler.py # Background jobs +│ ├── requirements.txt +│ └── run.py +├── frontend/ +│ ├── src/ +│ │ ├── app/ # Next.js pages +│ │ ├── components/ # React components +│ │ └── lib/ # Utilities +│ └── package.json +└── memory-bank/ # Project documentation +``` + +## API Endpoints + +### Public +- `POST /api/v1/check/` - Check domain availability +- `GET /api/v1/check/{domain}` - Quick domain check + +### Authenticated +- `POST /api/v1/auth/register` - Register user +- `POST /api/v1/auth/login` - Get JWT token +- `GET /api/v1/auth/me` - Current user info +- `GET /api/v1/domains/` - List monitored domains +- `POST /api/v1/domains/` - Add domain to watchlist +- `DELETE /api/v1/domains/{id}` - Remove domain +- `POST /api/v1/domains/{id}/refresh` - Manual refresh +- `GET /api/v1/subscription/` - User subscription info +- `GET /api/v1/subscription/tiers` - Available plans + +## Development + +### Backend +```bash +cd backend +python -m venv venv +source venv/bin/activate +pip install -r requirements.txt +python run.py +``` + +### Frontend +```bash +cd frontend +npm install +npm run dev +``` + +## Production Deployment +- Backend: uvicorn with gunicorn +- Frontend: next build && next start +- Database: PostgreSQL recommended +- Reverse proxy: nginx recommended + diff --git a/pounce-deploy.zip b/pounce-deploy.zip new file mode 100644 index 0000000000000000000000000000000000000000..371cad2a19592c75021cd1ba937ef8e668c0b798 GIT binary patch literal 126138 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

(!n2Y_+_g{#@;jW9No@ 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�mZ&^aE!H0_!b;gzp;s3`4w(FM*{)36 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 literal 0 HcmV?d00001