feat: rewrite website in PHP, drop Node.js stack
Replace React/Vite frontend + Fastify API with a single PHP application.
- Front controller router in public/index.php (clean URLs via .htaccess)
- Session-based auth (no JWT) — register, login, verify email,
forgot/reset password, logout
- Stripe checkout sessions, billing portal, webhook handler
(checkout.session.completed, subscription.updated/deleted)
- License IP change via internal licensing server API
- PHP classes: DB (PDO), Auth, Mailer (PHPMailer), StripeClient
- Views: home, pricing, install, login, register, dashboard,
verify-email, forgot-password, reset-password, 404
- Tailwind CSS via CDN — no build step required
- Composer dependencies: stripe/stripe-php, phpmailer/phpmailer,
vlucas/phpdotenv, ramsey/uuid
- CSRF protection on all POST forms
- PRG pattern with session flash messages
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>