yves.gugger 9acc40b658
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
feat: Complete Watchlist monitoring, Portfolio tracking & Listings marketplace
## Watchlist & Monitoring
-  Automatic domain monitoring based on subscription tier
-  Email alerts when domains become available
-  Health checks (DNS/HTTP/SSL) with caching
-  Expiry warnings for domains <30 days
-  Weekly digest emails
-  Instant alert toggle (optimistic UI updates)
-  Redesigned health check overlays with full details
- 🔒 'Not public' display for .ch/.de domains without public expiry

## Portfolio Management (NEW)
-  Track owned domains with purchase price & date
-  ROI calculation (unrealized & realized)
-  Domain valuation with auto-refresh
-  Renewal date tracking
-  Sale recording with profit calculation
-  List domains for sale directly from portfolio
-  Full portfolio summary dashboard

## Listings / For Sale
-  Renamed from 'Portfolio' to 'For Sale'
-  Fixed listing limits: Scout=0, Trader=5, Tycoon=50
-  Featured badge for Tycoon listings
-  Inquiries modal for sellers
-  Email notifications when buyer inquires
-  Inquiries column in listings table

## Scrapers & Data
-  Added 4 new registrar scrapers (Namecheap, Cloudflare, GoDaddy, Dynadot)
-  Increased scraping frequency to 2x daily (03:00 & 15:00 UTC)
-  Real historical data from database
-  Fixed RDAP/WHOIS for .ch/.de domains
-  Enhanced SSL certificate parsing

## Scheduler Jobs
-  Tiered domain checks (Scout=daily, Trader=hourly, Tycoon=10min)
-  Daily health checks (06:00 UTC)
-  Weekly expiry warnings (Mon 08:00 UTC)
-  Weekly digest emails (Sun 10:00 UTC)
-  Auction cleanup every 15 minutes

## UI/UX Improvements
-  Removed 'Back' buttons from Intel pages
-  Redesigned Radar page to match Market/Intel design
-  Less prominent check frequency footer
-  Consistent StatCard components across all pages
-  Ambient background glows
-  Better error handling

## Documentation
-  Updated README with monitoring section
-  Added env.example with all required variables
-  Updated Memory Bank (activeContext.md)
-  SMTP configuration requirements documented
2025-12-11 16:57:28 +01:00

35 lines
1.2 KiB
Python

"""TLD Price Scraper Package.
Multi-registrar price scraping for historical data collection.
Runs 2x daily (03:00 & 15:00 UTC) for optimal data granularity.
Scrapers (5 total):
- PorkbunScraper: Primary source, 896+ TLDs via official API
- GoDaddyScraper: Largest registrar, promo pricing detection
- NamecheapScraper: Popular TLDs, fallback static data
- CloudflareScraper: At-cost (wholesale) baseline pricing
- DynadotScraper: Competitive pricing, 80+ TLDs
- TLDListScraper: Legacy (currently blocked)
"""
from app.services.tld_scraper.base import BaseTLDScraper, TLDPriceData
from app.services.tld_scraper.tld_list import TLDListScraper
from app.services.tld_scraper.porkbun import PorkbunScraper
from app.services.tld_scraper.namecheap import NamecheapScraper
from app.services.tld_scraper.cloudflare import CloudflareScraper
from app.services.tld_scraper.godaddy import GoDaddyScraper
from app.services.tld_scraper.dynadot import DynadotScraper
from app.services.tld_scraper.aggregator import TLDPriceAggregator
__all__ = [
"BaseTLDScraper",
"TLDPriceData",
"TLDListScraper",
"PorkbunScraper",
"GoDaddyScraper",
"NamecheapScraper",
"CloudflareScraper",
"DynadotScraper",
"TLDPriceAggregator",
]