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
2e8ff50a90
perf: phase 0 scheduler split, market feed paging, health cache, price tracker
2025-12-12 11:40:53 +01:00
9febdf8332
feat(scraping): server-only ops + stronger freshness guards
...
- Run auction cleanup every 5 minutes and treat end_time <= now as ended
- Add admin endpoints to upload/inspect Playwright cookies (free alternative to paid proxies)
- Add client-side guardrail to never render ended auctions in Terminal Market
2025-12-11 22:23:00 +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
22cb9561ad
fix: Data freshness - only show active auctions
...
CRITICAL FIXES:
- API: Added end_time > now() filter to all auction queries
- Scheduler: Cleanup expired auctions every 15 minutes
- Scheduler: Scrape auctions every 2 hours (was 1 hour)
- Scheduler: Sniper alert matching every 30 minutes
Affected endpoints:
- GET /auctions (search)
- GET /auctions/feed (unified)
- GET /auctions/hot
- GET /auctions/ending-soon (already had filter)
Updated MARKET_CONCEPT.md with:
- 3 pillars: Pounce Direct, Live Auctions, Drops Tomorrow
- Data freshness architecture
- Unicorn roadmap
2025-12-11 09:55:27 +01:00
1def72f185
feat: Add Sniper Alert auto-matching to auction scraper
...
SCHEDULER ENHANCEMENT:
- After each hourly auction scrape, automatically match new auctions
against all active Sniper Alerts
- _auction_matches_alert() checks all filter criteria:
- Keyword matching
- TLD whitelist
- Min/max length
- Min/max price
- Exclude numbers
- Exclude hyphens
- Exclude specific characters
- Creates SniperAlertMatch records for dashboard display
- Sends email notifications to users with matching alerts
- Updates alert's last_triggered timestamp
This implements the full Sniper Alert workflow from analysis_3.md:
'Der User kann extrem spezifische Filter speichern.
Wenn die Mail kommt, weiß der User: Das ist relevant.'
2025-12-10 13:09:37 +01:00
772dd4a5af
🚀 Implement tier-based scan intervals & improve Settings page
...
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 (Scheduler):
- Add check_domains_by_frequency() for tier-based scanning
- Scout: Daily checks (at configured hour)
- Trader: Hourly checks (every :00)
- Tycoon: 10-minute real-time checks
- Smart tier filtering to avoid duplicate checks
Frontend (Pricing):
- All feature text now white (text-foreground)
Frontend (Settings/Billing):
- Show current plan with visual stats (domains, interval, portfolio)
- Display check frequency in human-readable format
- Full plan comparison table
- Green checkmarks for active features
- Upgrade CTA for free users
2025-12-09 17:25:44 +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
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
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