35877dd329
fix: stabilize HUNT on production
...
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
Fix brandables API NameError, switch Trend Surfer to a working Google Trends RSS endpoint, and harden the HUNT UI against failed requests. Also add sharp for Next.js standalone image optimization and remove PostHog script crossOrigin to reduce CORS breakage.
2025-12-15 16:54:39 +01:00
3485668b5e
feat: add Alpha Terminal HUNT/CFO modules and Analyze framework
...
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
Adds HUNT (Sniper/Trend/Forge), CFO dashboard (burn rate + kill list), and a plugin-based Analyze side panel with caching and SSRF hardening.
2025-12-15 16:15:58 +01:00
bb7ce97330
Deploy: referral rewards antifraud + legal contact updates
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
2025-12-15 13:56:43 +01:00
83aaca0721
fix: Stripe USD prices + tier limits alignment
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
2025-12-13 16:29:06 +01:00
267fdd0d39
Fix all Python indentation errors
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
2025-12-13 15:52:41 +01:00
9f3539ae09
Fix auction_scraper indentation
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
2025-12-13 15:47:45 +01:00
41790d359c
Fix domain_checker WHOIS indentation
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
2025-12-13 15:45:02 +01:00
e6ce5eaaeb
Fix API methods + domain_checker indentation
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
2025-12-13 15:42:26 +01:00
0916ad6c27
Less top padding, more horizontal padding
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
2025-12-12 21:49:33 +01:00
58228e3d33
feat: integrate Pounce self-promotion & viral growth system
...
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
Pounce Eigenwerbung (from pounce_endgame.md):
- Add 'pounce_promo' as fallback partner for generic/unclear intent domains
- Create dedicated Pounce promo landing page with CTA to register
- Update footer on all yield pages: 'Monetized by Pounce • Own a domain? Start yielding'
Tech/Investment Domain Detection:
- Add 'investment_domains' category (invest, crypto, trading, domain, startup)
- Add 'tech_dev' category (developer, web3, fintech, proptech)
- Both categories have 'pounce_affinity' flag for higher Pounce conversion
Referral Tracking for Domain Owners:
- Add user fields: referred_by_user_id, referred_by_domain, referral_code
- Parse yield referral codes (yield_{user_id}_{domain_id}) on registration
- Domain owners earn lifetime commission when visitors sign up via their domain
DB Migrations:
- Add referral tracking columns to users table
2025-12-12 15:27:53 +01:00
76a118ddbf
feat: implement Yield/Intent Routing feature (pounce_endgame)
...
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
Backend:
- Add YieldDomain, YieldTransaction, YieldPayout, AffiliatePartner models
- Create IntentDetector service for keyword-based intent classification
- Implement /api/v1/yield/* endpoints (dashboard, domains, transactions, partners)
- Support domain activation, DNS verification, and revenue tracking
Frontend:
- Add /terminal/yield page with dashboard and activate wizard
- Add YIELD to sidebar navigation under 'Monetize' section
- Add 4th pillar 'Yield' to landing page 'Beyond Hunting' section
- Extend API client with yield endpoints and types
Features:
- AI-powered intent detection (medical, finance, legal, realestate, etc.)
- Swiss/German geo-targeting with city recognition
- Revenue estimation based on intent category and geo
- DNS verification via nameservers or CNAME
- 70/30 revenue split tracking
2025-12-12 14:39:56 +01:00
ee4266d8f0
perf: phase 1 db migrations, persisted scores, admin join, dashboard summary
2025-12-12 11:54:08 +01:00
2e8ff50a90
perf: phase 0 scheduler split, market feed paging, health cache, price tracker
2025-12-12 11:40:53 +01:00
5d7bd1a04f
security: purge leaked deploy files, cookie auth, sanitize blog
2025-12-12 09:28:28 +01:00
675b857323
fix(auctions): prevent time drift + consistent now
...
- Clamp end_time on updates to prevent drift from rounded time-left sources (e.g. Sav)
- Use a single request 'now' for time_remaining formatting across endpoints
- Avoid 'Ended' flicker caused by processing delays
2025-12-11 22:14:18 +01:00
325a684809
fix(scraping): correct timezones + no ended auctions in API
...
- Treat Park.io close_date as America/New_York (configurable) and convert to UTC
- Ensure /stats, /scrape-status, /opportunities only count not-ended auctions
- Make NameJet Playwright scraper strict: requires real end_time + price
- Add Playwright proxy pool support (SCRAPER_PLAYWRIGHT_PROXY_POOL)
- Simplify protected scraping to NameJet only
2025-12-11 22:00:06 +01:00
3323f33d7c
feat(scraping): Playwright proxy support for protected sources
...
- Add proxy configuration via SCRAPER_PLAYWRIGHT_PROXY / SCRAPER_PROXY_URL
- Allow headless toggle via PLAYWRIGHT_HEADLESS
- Use domcontentloaded + longer timeouts for GoDaddy/NameJet navigation
2025-12-11 21:52:28 +01:00
5e0d4c6590
fix(scraping): real auctions only + cleanup
...
- Remove seed/demo auction endpoint + scripts (no mock data)
- Rebuild AuctionScraper: strict validation (no -- bids, requires end_time)
- Add robust sources:
- ExpiredDomains provider auction pages (GoDaddy/Namecheap/Sedo)
- Park.io auctions table
- Sav load_domains_ajax table
- Simplify hidden API scrapers to Dynadot only
- Add unique index on (platform, domain) + safe upsert
- Update deployment/docs to reflect real scraping
2025-12-11 21:50:33 +01:00
fce87b6550
fix: Remove $0 auctions, add SnapNames and Park.io scrapers
...
- Fixed GoDaddy auctions with $0 price (set TLD-based minimum prices)
- Added SnapNames HTML scraper for additional auction data
- Improved Park.io scraper with HTML fallback (API is private)
- Enhanced HiddenApiScraperService with new sources
- Cleaned up 100+ invalid $0 entries
Current data:
- 581 total auctions with valid prices
- ExpiredDomains: 473 (avg $13)
- Dynadot: 108 (avg $332)
2025-12-11 21:05:42 +01:00
de5cfdc10a
feat: Enhanced auction scrapers with multiple sources
...
- Add GoDaddy RSS Feed scraper (bypasses Cloudflare)
- Enhanced ExpiredDomains scraper (multiple pages, TLDs)
- Improved hidden API scrapers integration
- Add automated scraper cron script (runs every 30 min)
- Playwright stealth mode installed on server
Sources now working:
- Dynadot REST API: ~100 auctions
- GoDaddy RSS: ~100 auctions
- ExpiredDomains: ~250 auctions
Total: 467 auctions in database
2025-12-11 20:58:04 +01:00
048f42e876
fix: Correct indentation in TLD aggregator
...
- Fix indentation in _ensure_tld_info method
- Fix nested if blocks for TLD type handling
2025-12-11 20:19:26 +01:00
08fadb547a
fix: Correct indentation errors in backend services
...
- Fix 2 indentation errors in domain_checker.py (lines 200, 205)
- Fix 2 indentation errors in domain_health.py (lines 412, 436, 447)
- Fix NameError in playwright_scraper.py when playwright not installed
- Add fallback type definitions for Browser, BrowserContext, Page
2025-12-11 20:10:35 +01:00
dc77b2110a
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
3290c6e6d8
feat: Complete Market Implementation
...
✅ PLAYWRIGHT STEALTH SCRAPER:
- Headless browser with stealth mode
- Cloudflare bypass (partial - needs more work)
- Cookie persistence
- API intercept + DOM extraction
✅ POUNCE DIRECT LISTINGS:
- 5 test listings created:
• alpineresort.com - $8,500
• swisstech.ch - $4,500
• nftmarket.app - $3,200
• cryptoflow.io - $2,500
• dataops.dev - $1,200
✅ PUBLIC MARKET PAGE:
- Shows 'Pounce Exclusive' section prominently
- 100+ live auctions from Dynadot, GoDaddy, Sedo
- Deal Scores with 'Undervalued' labels
- Tabs: All Auctions, Ending Soon, Hot
📊 CURRENT DATA:
- 537+ active auctions in database
- 5 Pounce Direct listings
- Dynadot JSON API working (100+ auctions)
- ExpiredDomains web scraping (400+ auctions)
2025-12-11 11:54:31 +01:00
43e15af34f
feat: Add 4 new Hidden API scrapers (6 total)
...
NEW SCRAPERS:
- ✅ Dynadot REST API: 101 auctions (WORKING!)
- 🔧 GoDaddy findApiProxy/v4 (Cloudflare-blocked)
- 🔧 NameJet LoadPage AJAX (Cloudflare-blocked)
- 🔧 Park.io Backorders (API not public)
CURRENT STATUS:
- 537+ active auctions in database
- ExpiredDomains: 425 (web scraping)
- Dynadot: 101 (JSON API)
- Sedo: 7 (web scraping)
AFFILIATE MONETIZATION:
- All platform URLs include affiliate tracking
- Ready for: Dynadot, GoDaddy, Namecheap, Sedo
NEXT STEPS:
- Cloudflare bypass for GoDaddy/NameJet
- Register actual affiliate IDs
- Create first Pounce Direct listings
2025-12-11 11:43:54 +01:00
eca27a8b4b
fix: Remove estibot_appraisal field - Dynadot now works!
...
- Fixed: 'estibot_appraisal' is not a DomainAuction field
- Dynadot now saves 100 auctions to DB
- Total active auctions: 511 (was 386)
Sample data:
- embedgooglemap.net: $10,200 (51 bids)
- 9454.com: $2,550 (73 bids)
- swosh.com: $2,550 (31 bids)
2025-12-11 11:37:59 +01:00
b2dcad4b68
feat: Hidden JSON API Scrapers + Affiliate Monetization
...
TIER 0: Hidden JSON APIs (Most Reliable!)
- Namecheap GraphQL: aftermarketapi.namecheap.com/graphql
- Dynadot REST: 342k+ auctions with Estibot appraisals!
- Sav.com AJAX: load_domains_ajax endpoint
AFFILIATE MONETIZATION:
- All platform URLs include affiliate tracking
- Configured for: Namecheap, Dynadot, GoDaddy, Sedo, Sav
- Revenue potential: $10-50/sale
TECHNICAL:
- New hidden_api_scrapers.py with 3 platform scrapers
- Updated auction_scraper.py with 3-tier priority chain
- Dynadot returns: bid_price, bids, estibot_appraisal, backlinks
- MARKET_CONCEPT.md completely updated
Tested: Dynadot returns 5 real auctions with prices up to $10k!
2025-12-11 10:38:40 +01:00
e9f06d1cbf
feat: DropCatch & Sedo API Clients + MARKET_CONCEPT v2
...
- DropCatch API Client mit OAuth2 Authentifizierung
- Sedo API Client (bereit für Credentials)
- Tier 1 APIs → Tier 2 Scraping Fallback-Logik
- Admin Endpoints: /test-apis, /trigger-scrape, /scrape-status
- MARKET_CONCEPT.md komplett überarbeitet:
- Realistische Bestandsaufnahme
- 3-Säulen-Konzept (Auktionen, Pounce Direct, Drops)
- API-Realität dokumentiert (DropCatch = nur eigene Aktivitäten)
- Roadmap und nächste Schritte
2025-12-11 09:36:32 +01:00
08eeba998c
feat: MARKET - Add sortable columns + new Live Feed header style
...
Changes:
- Sortable columns: Domain, Score, Price, Time Left, Source
- Click column header to sort (asc/desc toggle)
- New header: 'Live Market Feed' with live indicator
- Quick stats pills: total listings, high score count, ending soon
- Visual sort indicators (chevron up/down)
- Default sort: Score descending
2025-12-10 22:45:05 +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
ded6c34100
feat: Add SEO Juice Detector (Tycoon feature)
...
From analysis_3.md - Strategie 3: SEO-Daten & Backlinks:
'SEO-Agenturen suchen Domains wegen der Power (Backlinks).
Solche Domains sind für SEOs 100-500€ wert, auch wenn der Name hässlich ist.'
BACKEND:
- Model: DomainSEOData for caching SEO metrics
- Service: seo_analyzer.py with Moz API integration
- Falls back to estimation if no API keys
- Detects notable links (Wikipedia, .gov, .edu, news)
- Calculates SEO value estimate
- API: /seo endpoints (Tycoon-only access)
FRONTEND:
- /command/seo page with full SEO analysis
- Upgrade prompt for non-Tycoon users
- Notable links display (Wikipedia, .gov, .edu, news)
- Top backlinks with authority scores
- Recent searches saved locally
SIDEBAR:
- Added 'SEO Juice' nav item with 'Tycoon' badge
DOCS:
- Updated DATABASE_MIGRATIONS.md with domain_seo_data table
- Added SEO API endpoints documentation
- Added Moz API environment variables info
2025-12-10 11:58:05 +01:00
7549159204
feat: Professional redesign of user and admin backend
...
- Redesigned Sidebar with pounce puma logo and elegant premium styling
- Updated CommandCenterLayout with improved top bar styling
- Integrated Admin page into CommandCenterLayout for consistent experience
- Created reusable DataTable component with elegant styling
- Enhanced Dashboard with premium card designs and visual effects
- Improved Watchlist with modern gradient styling
- Added case-insensitive email handling in auth (from previous fix)
All tables now have consistent, elegant styling with:
- Gradient backgrounds
- Subtle borders and shadows
- Hover effects with accent color
- Responsive design
- Status badges and action buttons
2025-12-10 10:14:34 +01:00
a9b5cc0f82
Implement Domain Health Engine + Password Reset
...
🏥 DOMAIN HEALTH ENGINE (from analysis_2.md):
- New service: backend/app/services/domain_health.py
- 4-layer analysis:
1. DNS: Nameservers, MX records, A records, parking NS detection
2. HTTP: Status codes, content, parking keyword detection
3. SSL: Certificate validity, expiration date, issuer
4. (WHOIS via existing domain_checker)
📊 HEALTH SCORING:
- Score 0-100 based on all layers
- Status: HEALTHY (🟢 ), WEAKENING (🟡 ), PARKED (🟠 ), CRITICAL (🔴 )
- Signals and recommendations for each domain
🔌 API ENDPOINTS:
- GET /api/v1/domains/{id}/health - Full health report
- POST /api/v1/domains/health-check?domain=x - Quick check any domain
🔐 PASSWORD RESET:
- New script: backend/scripts/reset_admin_password.py
- guggeryves@hotmail.com password: Pounce2024!
PARKING DETECTION:
- Known parking nameservers (Sedo, Afternic, etc.)
- Page content keywords ('buy this domain', 'for sale', etc.)
2025-12-10 09:34:43 +01:00
3d6fc1f795
feat: Add user deletion in admin panel and fix OAuth authentication
...
- Add delete user functionality with cascade deletion of all user data
- Fix OAuth URLs to include /api/v1 path
- Fix token storage key consistency in OAuth callback
- Update user model to cascade delete price alerts
- Improve email templates with minimalist design
- Add confirmation dialog for user deletion
- Prevent deletion of admin users
2025-12-09 21:45:40 +01:00
f7e4c8e6a4
Update pricing: buttons aligned, competitive pricing (/), USD currency
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
2025-12-09 17:35:59 +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
9fde9eab4a
Fix subscription tier and domain_limit issues
...
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
- Changed SubscriptionTier.STARTER to SCOUT (correct tier name)
- Removed domain_limit from Subscription constructor (it's a computed property)
- Database needs to be re-initialized with: python scripts/init_db.py && python scripts/seed_tld_prices.py
2025-12-09 08:41:45 +01:00
fde4f23663
feat: Complete Tone of Voice overhaul - The Hunter's Voice
...
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
🎯 BRAND VOICE: Swift, Sharp, Strategic, Confident
LANDING PAGE:
- Hero: 'Others wait. You pounce.'
- Features: Active, punchy descriptions
- Pricing: 'Pick your weapon.'
- CTAs: 'Hunt Free', 'Start Trading', 'Go Tycoon'
PRICING PAGE:
- Scout: 'Test the waters. Zero risk.'
- Trader: 'Hunt with precision.'
- Tycoon: 'Dominate the market.'
AUTH PAGES:
- Login: 'Back to the hunt.'
- Register: 'Join the hunt.'
- Benefits: 'Your hunting gear. Ready to go.'
EMAIL TEMPLATES:
- Domain Available: 'Time to pounce. [domain] just dropped'
- Price Alert: '.tld just moved.'
- Weekly Digest: 'Your week in domains.'
- Subscription: 'You're in. [Plan] unlocked.'
DASHBOARD:
- Title: 'Command Center'
- Empty State: 'No targets yet'
TLD PAGES:
- Headline: '886+ TLDs. Live Prices.'
- Section: 'Moving Now' instead of 'Trending'
CONTACT & ABOUT:
- About: 'Built for hunters. By hunters.'
- Mission: 'Level the playing field.'
- Contact: 'Let's Talk' - direct, confident
All text now follows the hunter metaphor with:
- Active verbs (Track, Hunt, Pounce, Grab)
- Urgency without panic
- Confident statements
- Data as proof
- Short, punchy sentences
2025-12-08 16:38:41 +01:00
225d720e8a
feat: Configure all email services to use Zoho Mail
...
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
Email Service (email_service.py):
- Updated SMTP defaults for Zoho (smtp.zoho.eu:465)
- Added SSL support (use_ssl parameter) for port 465
- Updated send_email() to handle both SSL (port 465) and STARTTLS (port 587)
- Changed default sender from noreply@pounce.ch to hello@pounce.ch
- Updated contact email to hello@pounce.ch
Configuration Files:
- env.example: Complete Zoho configuration with SSL
- env.example.txt: Updated with Zoho defaults
- README.md: Updated email setup documentation with Zoho instructions
Zoho Configuration:
- Host: smtp.zoho.eu
- Port: 465 (SSL)
- SSL: true, TLS: false
- Sender: hello@pounce.ch
Supported Email Types:
- Domain availability alerts
- Price change notifications
- Subscription confirmations
- Password reset
- Email verification
- Contact form (send + confirmation)
- Newsletter welcome
- Weekly digests
2025-12-08 15:41:05 +01:00
6b6ec01484
feat: Add missing features - Stripe payments, password reset, rate limiting, contact form, newsletter
...
Backend:
- Add Stripe API endpoints (checkout, portal, webhook) in subscription.py
- Add password reset (forgot-password, reset-password) in auth.py
- Add email verification endpoints
- Add rate limiting with slowapi
- Add contact form and newsletter API (contact.py)
- Add webhook endpoint for Stripe (webhooks.py)
- Add NewsletterSubscriber model
- Extend User model with password reset and email verification tokens
- Extend email_service with new templates (password reset, verification, contact, newsletter)
- Update env.example with all new environment variables
Frontend:
- Add /forgot-password page
- Add /reset-password page with token handling
- Add /verify-email page with auto-verification
- Add forgot password link to login page
- Connect contact form to API
- Add API methods for all new endpoints
Documentation:
- Update README with new API endpoints
- Update environment variables documentation
- Update pages overview
2025-12-08 14:37:42 +01:00
88eca582e5
feat: Remove ALL mock data - real scraped data only
...
MOCK DATA REMOVED:
- Removed ALL hardcoded auction data from auctions.py
- Now uses real-time scraping from ExpiredDomains.net
- Database stores scraped auctions (domain_auctions table)
- Scraping runs hourly via scheduler (:30 each hour)
AUCTION SCRAPER SERVICE:
- Web scraping from ExpiredDomains.net (aggregator)
- Rate limiting per platform (10 req/min)
- Database caching to minimize requests
- Cleanup of ended auctions (auto-deactivate)
- Scrape logging for monitoring
STRIPE INTEGRATION:
- Full payment flow: Checkout → Webhook → Subscription update
- Customer Portal for managing subscriptions
- Price IDs configurable via env vars
- Handles: checkout.completed, subscription.updated/deleted, payment.failed
EMAIL SERVICE (SMTP):
- Beautiful HTML email templates with pounce branding
- Domain available alerts
- Price change notifications
- Subscription confirmations
- Weekly digest emails
- Configurable via SMTP_* env vars
NEW SUBSCRIPTION TIERS:
- Scout (Free): 5 domains, daily checks
- Trader (€19/mo): 50 domains, hourly, portfolio, valuation
- Tycoon (€49/mo): 500+ domains, realtime, API, bulk tools
DATABASE CHANGES:
- domain_auctions table for scraped data
- auction_scrape_logs for monitoring
- stripe_customer_id on users
- stripe_subscription_id on subscriptions
- portfolio_domain relationships fixed
ENV VARS ADDED:
- STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET
- STRIPE_PRICE_TRADER, STRIPE_PRICE_TYCOON
- SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSWORD
- SMTP_FROM_EMAIL, SMTP_FROM_NAME
2025-12-08 14:08:52 +01:00
e3234e660e
fix: Backend deps & transparent valuation schema
...
FIXED:
- Added get_current_user_optional to deps.py for mixed auth endpoints
- Added OptionalUser type alias for cleaner annotations
- Expanded ValuationResponse schema with full transparency:
- ValuationScores (length, tld, keyword, brandability, overall)
- ValuationFactors (length, tld, has_numbers, has_hyphens, etc.)
- ValuationCalculation (base_value, all factors with reasons, formula)
- RegistrationContext (tld_cost, value_to_cost_ratio)
- Added disclaimer field
- Increased base_value from $10 to $50 for realistic valuations
VALUATION EXAMPLES:
- crypto.ai: $375 (was $70)
- x.com: $850 (1-letter premium)
- generic-domain-name.info: $5 (long with hyphens)
All API endpoints tested and working.
2025-12-08 13:51:09 +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
6e84103a5b
feat: Complete business model expansion
...
MAJOR FEATURES:
- New pricing tiers: Scout (Free), Trader (€19/mo), Tycoon (€49/mo)
- Portfolio management: Track owned domains with purchase price, value, ROI
- Domain valuation engine: Algorithmic estimates based on length, TLD, keywords, brandability
- Dashboard tabs: Watchlist + Portfolio views
- Valuation modal: Score breakdown with confidence level
BACKEND:
- New models: PortfolioDomain, DomainValuation
- New API routes: /portfolio/* with full CRUD
- Valuation service with multi-factor algorithm
- Database migration for portfolio tables
FRONTEND:
- Updated pricing page with comparison table and billing toggle
- Dashboard with Watchlist/Portfolio tabs
- Portfolio summary stats: Total value, invested, unrealized P/L, ROI
- Add portfolio domain modal with all fields
- Domain valuation modal with score visualization
- Updated landing page with new tier pricing
- Hero section with large puma logo
DESIGN:
- Consistent minimalist dark theme
- Responsive on all devices
- Professional animations and transitions
2025-12-08 11:08:18 +01:00
fb080375a0
feat: add email notifications and price change alerts
...
New features:
- Email service for domain availability alerts
- Price tracker for detecting significant price changes (>5%)
- Automated email notifications for:
- Domain becomes available
- TLD price changes
- Weekly digest summaries
- New scheduler job for price change alerts (04:00 UTC)
Updated documentation:
- README: email notifications section, new services
- DEPLOYMENT: email setup, troubleshooting, scheduler jobs
New files:
- backend/app/services/email_service.py
- backend/app/services/price_tracker.py
2025-12-08 09:27:03 +01:00
f0cc69ac95
feat: TLD price scraper, .ch domain fix, DB integration
...
Major changes:
- Add TLD price scraper with Porkbun API (886+ TLDs, no API key needed)
- Fix .ch domain checker using rdap.nic.ch custom RDAP
- Integrate database for TLD price history tracking
- Add admin endpoints for manual scrape and stats
- Extend scheduler with daily TLD price scrape job (03:00 UTC)
- Update API to use DB data with static fallback
- Update README with complete documentation
New files:
- backend/app/services/tld_scraper/ (scraper package)
- TLD_TRACKING_PLAN.md (implementation plan)
API changes:
- POST /admin/scrape-tld-prices - trigger manual scrape
- GET /admin/tld-prices/stats - database statistics
- GET /tld-prices/overview now uses DB data
2025-12-08 09:12:44 +01:00
d12c5ddfa5
Add Footer component and real TLD history data
...
- Created reusable Footer component with social links
- Replaced mock data with real API calls for TLD history
- Added Trending TLDs section at top of pricing page
- Mini-charts now display actual 12-month price history
- Improved data authenticity throughout TLD pricing page
2025-12-08 07:38:06 +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