- 134-tool registry with programmatic SEO (unique titles/H1/descriptions, JSON-LD graphs, sitemap index, canonical 301 enforcement via required filter) - DB-backed job queue (SKIP LOCKED) with drivers: Ffmpeg, Images (GD), Pdf (qpdf/gs/poppler), Youtube (thumbnails), Qr (server-side PNG) - Security: SSRF guard, MIME validation, rate limits, API-key auth, bcrypt admin login, security headers - Admin panel: dashboard, tools/categories/guides CRUD, SEO audit, analytics, job inspector with retry, system health, feature flags - Docker deployment (nginx + web/api FPM pools + scalable workers), PHPUnit suite (19 tests / 1139 assertions), PWA manifest + service worker
10 lines
673 B
HTML
10 lines
673 B
HTML
<!doctype html><html lang="en"><head><meta charset="utf-8"><title>Offline — Toolvana</title>
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
<link rel="stylesheet" href="/assets/css/app.css"></head>
|
|
<body style="display:grid;place-items:center;min-height:100vh;margin:0;text-align:center;padding:2rem">
|
|
<div>
|
|
<h1 style="letter-spacing:-.03em">You're offline</h1>
|
|
<p style="color:#6b7280">The tool directory is available offline, but media processing needs a connection.<br>Reconnect and pick up where you left off.</p>
|
|
<a href="/tools" class="btn-primary" style="text-decoration:none;display:inline-block">Open tool directory</a>
|
|
</div></body></html>
|