Claude
|
ac77e27089
|
Add automatic onboarding system (Phase 3)
Onboarding Wizard:
- register.php: User registration with validation
- verify.php: Email verification (with demo mode)
- stream.php: Stream URL configuration & validation
- branding.php: Quick branding setup with live preview
- complete.php: Success page with confetti animation
Backend Classes (src/Onboarding/):
- OnboardingManager.php: Orchestrates the onboarding flow
- Registration with automatic subdomain generation
- Email verification tokens
- Step tracking in tenant_onboarding table
- StreamValidator.php: Validates stream URLs
- HLS (.m3u8) validation with playlist check
- RTMP format validation
- iframe/embed URL detection (YouTube, Vimeo, Twitch)
- Generic HTTP reachability check
Features:
- 4-step wizard with progress indicator
- Stream type auto-detection
- Live branding preview
- Skip options for optional steps
- Trial period display
|
2026-01-23 18:41:53 +00:00 |
|
Claude
|
7bd62b3527
|
Add tenant dashboard (Phase 2)
Dashboard Features:
- Login page with session-based auth
- Overview page with live stats (viewers, stream status)
- Stream settings (URL, type configuration)
- Branding editor (colors, texts, custom CSS)
- Settings page (weather, content toggles, UI options)
New Files:
- dashboard/index.php: Main overview with stats
- dashboard/login.php: Authentication page
- dashboard/logout.php: Session cleanup
- dashboard/stream.php: Stream configuration
- dashboard/branding.php: Visual customization
- dashboard/settings.php: Feature toggles
- dashboard/templates/layout.php: Shared layout
- dashboard/api/stats.php: Stats API endpoint
- dashboard/assets/dashboard.css: Modern dashboard UI
- dashboard/assets/dashboard.js: Client-side functionality
- src/Auth/AuthManager.php: Secure auth with Argon2, remember-me
Auth Features:
- Secure password hashing (Argon2ID)
- Remember-me tokens
- Role-based access (super_admin, tenant_admin, tenant_user)
- Legacy fallback for existing admin credentials
|
2026-01-23 17:09:38 +00:00 |
|
Claude
|
402604b4cc
|
Add Multi-Tenant SaaS foundation for customer management
Phase 1 implementation includes:
Database:
- schema.sql with tables for tenants, domains, settings, branding,
streams, users, subscriptions, plans, invoices, viewer_stats
Core Classes (src/Core/):
- Database.php: PDO wrapper with singleton pattern
- TenantResolver.php: Domain-to-tenant resolution with fallback
Tenant Classes (src/Tenant/):
- TenantManager.php: CRUD operations for tenants
- TenantSettingsManager.php: DB-based settings per tenant
Configuration:
- config.example.php: Template for database/stripe/mail config
- bootstrap.php: Initializes multi-tenant environment
- .gitignore: Excludes config.php and cache files
Integration:
- SettingsManager.php: Added saas_features toggles (all off by default)
- index.php: Uses getSiteConfig() from bootstrap when multi-tenant enabled,
falls back to legacy hardcoded domains when disabled
All SaaS features are disabled by default (saas_features.multi_tenant_enabled = false),
ensuring zero breaking changes to existing installations.
|
2026-01-23 16:40:42 +00:00 |
|