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
## 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
73 lines
3.1 KiB
Markdown
73 lines
3.1 KiB
Markdown
# Pounce - Active Context
|
|
|
|
## Current Status
|
|
Pounce Terminal fully functional with complete monitoring & notification system.
|
|
|
|
## Completed
|
|
- [x] Backend structure with FastAPI
|
|
- [x] Database models (User, Domain, DomainCheck, Subscription, TLDPrice, DomainHealthCache)
|
|
- [x] Domain checker service (WHOIS + RDAP + DNS)
|
|
- [x] Domain health checker (DNS, HTTP, SSL layers)
|
|
- [x] Authentication system (JWT + OAuth)
|
|
- [x] API endpoints for domain management
|
|
- [x] Tiered scheduler for domain checks (Scout=daily, Trader=hourly, Tycoon=10min)
|
|
- [x] Next.js frontend with dark terminal theme
|
|
- [x] Pounce Terminal with all modules (Radar, Market, Intel, Watchlist, Listing)
|
|
- [x] Intel page with tier-gated features
|
|
- [x] TLD price scraping from 5 registrars (Porkbun, Namecheap, Cloudflare, GoDaddy, Dynadot)
|
|
- [x] **Watchlist with automatic monitoring & alerts**
|
|
- [x] **Health check overlays with complete DNS/HTTP/SSL details**
|
|
- [x] **Instant alert toggle (no refresh needed)**
|
|
|
|
## Recent Changes (Dec 2024)
|
|
|
|
### Watchlist & Monitoring
|
|
1. **Automatic domain checks**: Runs based on subscription tier
|
|
2. **Email alerts when domain becomes available**: Sends immediately
|
|
3. **Expiry warnings**: Weekly check for domains expiring in <30 days
|
|
4. **Health status monitoring**: Daily health checks with caching
|
|
5. **Weekly digest emails**: Summary every Sunday
|
|
|
|
### Email Notifications Implemented
|
|
| Alert Type | Trigger |
|
|
|------------|---------|
|
|
| Domain Available | Domain becomes free |
|
|
| Expiry Warning | <30 days until expiry |
|
|
| Health Critical | Domain goes offline |
|
|
| Price Change | TLD price changes >5% |
|
|
| Sniper Match | Auction matches criteria |
|
|
| Weekly Digest | Every Sunday |
|
|
|
|
### UI Improvements
|
|
1. **Instant alert toggle**: Uses Zustand store for optimistic updates
|
|
2. **Less prominent check frequency**: Subtle footer instead of prominent banner
|
|
3. **Health modals**: Show complete DNS, HTTP, SSL details
|
|
4. **"Not public" for private registries**: .ch/.de show lock icon with tooltip
|
|
|
|
## Next Steps
|
|
1. **Configure SMTP on server** - Required for email alerts to work
|
|
2. **Test email delivery** - Verify alerts are sent correctly
|
|
3. **Consider SMS alerts** - Would require Twilio integration
|
|
4. **Monitor scheduler health** - Check logs for job execution
|
|
|
|
## Server Deployment Checklist
|
|
- [ ] Set `SMTP_*` environment variables (see `env.example`)
|
|
- [ ] Set `STRIPE_*` for payments
|
|
- [ ] Set `GOOGLE_*` and `GITHUB_*` for OAuth
|
|
- [ ] Run `python scripts/init_db.py`
|
|
- [ ] Run `python scripts/seed_tld_prices.py`
|
|
- [ ] Start with PM2: `pm2 start "uvicorn app.main:app --host 0.0.0.0 --port 8000"`
|
|
|
|
## Design Decisions
|
|
- **Dark terminal theme** with emerald accent (#10b981)
|
|
- **Tier-gated features**: Scout (free), Trader ($9), Tycoon ($29)
|
|
- **Real data priority**: Always prefer DB data over simulations
|
|
- **Multiple registrar sources**: For accurate price comparison
|
|
- **Optimistic UI updates**: Instant feedback without API round-trip
|
|
|
|
## Known Considerations
|
|
- Email alerts require SMTP configuration
|
|
- Some TLDs (.ch, .de) don't publish expiration dates publicly
|
|
- SSL checks may fail on local dev (certificate chain issues)
|
|
- Scheduler starts automatically with uvicorn
|