docs: Update README with Blog, OAuth, and Admin features
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

This commit is contained in:
yves.gugger
2025-12-09 16:54:14 +01:00
parent cff0ba0984
commit 339e89e65d

View File

@ -121,12 +121,32 @@ npm run dev
### Security Features (v1.1)
- **Password Reset** Secure token-based password recovery via email
- **Email Verification** Optional email confirmation for new accounts
- **OAuth Login** Sign in with Google or GitHub
- **Rate Limiting** Protection against brute-force attacks (slowapi)
- **Stripe Payments** Secure subscription payments with Stripe Checkout
- **Stripe Customer Portal** Manage billing, view invoices, cancel subscriptions
- **Contact Form** With email confirmation and spam protection
- **Newsletter** Subscribe/unsubscribe with double opt-in
### Blog System (v1.3)
- **Blog Posts** Create and manage blog articles
- **Categories & Tags** Organize content
- **Featured Posts** Highlight posts on homepage
- **View Tracking** Analytics for post views
- **SEO Metadata** Custom meta titles and descriptions
- **Draft/Publish** Content workflow management
### Admin Panel (v1.3)
- **User Management** List, search, upgrade, and manage users
- **Bulk Operations** Upgrade multiple users at once
- **User Export** Export all users to CSV
- **Price Alerts** View all active TLD price alerts
- **Domain Health** Manually trigger domain checks
- **Scheduler Status** Monitor background jobs and last runs
- **Email Test** Verify SMTP configuration
- **Activity Log** Track admin actions
- **Blog Management** Full CRUD for blog posts
### CI/CD Pipeline (v1.2)
- **GitHub Actions** Automated CI/CD on push to main
- **Frontend Lint** ESLint + TypeScript type checking
@ -266,7 +286,9 @@ pounce/
| `/auctions` | Smart Pounce auction aggregator | No* |
| `/contact` | Contact form | No |
| `/about` | About us | No |
| `/blog` | Blog & Newsletter signup | No |
| `/blog` | Blog posts listing | No |
| `/blog/{slug}` | Blog post detail | No |
| `/admin` | Admin panel | Yes (Admin) |
| `/privacy` | Privacy policy | No |
| `/terms` | Terms of service | No |
| `/imprint` | Legal imprint | No |
@ -525,13 +547,51 @@ This ensures identical prices on:
| GET | `/api/v1/auctions/opportunities` | AI-powered opportunities (auth) |
| GET | `/api/v1/auctions/stats` | Platform statistics |
### OAuth
| Method | Endpoint | Description |
|--------|----------|-------------|
| GET | `/api/v1/oauth/providers` | List enabled OAuth providers |
| GET | `/api/v1/oauth/google/login` | Initiate Google OAuth |
| GET | `/api/v1/oauth/google/callback` | Handle Google callback |
| GET | `/api/v1/oauth/github/login` | Initiate GitHub OAuth |
| GET | `/api/v1/oauth/github/callback` | Handle GitHub callback |
### Blog
| Method | Endpoint | Description |
|--------|----------|-------------|
| GET | `/api/v1/blog/posts` | List published posts |
| GET | `/api/v1/blog/posts/featured` | Get featured posts |
| GET | `/api/v1/blog/posts/categories` | Get all categories |
| GET | `/api/v1/blog/posts/{slug}` | Get single post |
| GET | `/api/v1/blog/admin/posts` | Admin: List all posts |
| POST | `/api/v1/blog/admin/posts` | Admin: Create post |
| GET | `/api/v1/blog/admin/posts/{id}` | Admin: Get post |
| PATCH | `/api/v1/blog/admin/posts/{id}` | Admin: Update post |
| DELETE | `/api/v1/blog/admin/posts/{id}` | Admin: Delete post |
| POST | `/api/v1/blog/admin/posts/{id}/publish` | Admin: Publish post |
| POST | `/api/v1/blog/admin/posts/{id}/unpublish` | Admin: Unpublish post |
### Admin
| Method | Endpoint | Description |
|--------|----------|-------------|
| GET | `/api/v1/admin/stats` | Get platform statistics |
| GET | `/api/v1/admin/users` | List all users |
| POST | `/api/v1/admin/upgrade-user` | Upgrade user subscription |
| POST | `/api/v1/admin/scrape-tld-prices` | Manually trigger TLD price scrape |
| GET | `/api/v1/admin/tld-prices/stats` | Get TLD price database stats |
| GET | `/api/v1/admin/users/export` | Export users as CSV |
| POST | `/api/v1/admin/users/bulk-upgrade` | Bulk upgrade users |
| GET | `/api/v1/admin/users/{id}` | Get user details |
| PATCH | `/api/v1/admin/users/{id}` | Update user |
| DELETE | `/api/v1/admin/users/{id}` | Delete user |
| POST | `/api/v1/admin/users/{id}/upgrade` | Upgrade single user |
| GET | `/api/v1/admin/price-alerts` | List all price alerts |
| POST | `/api/v1/admin/domains/check-all` | Trigger domain checks |
| GET | `/api/v1/admin/newsletter` | List newsletter subs |
| GET | `/api/v1/admin/newsletter/export` | Export newsletter |
| POST | `/api/v1/admin/scrape-tld-prices` | Trigger TLD scrape |
| GET | `/api/v1/admin/tld-prices/stats` | Get TLD stats |
| GET | `/api/v1/admin/system/health` | System health check |
| GET | `/api/v1/admin/system/scheduler` | Scheduler status |
| POST | `/api/v1/admin/system/test-email` | Send test email |
| GET | `/api/v1/admin/activity-log` | Get activity log |
---