Some checks failed
Production Deployment (Zero Downtime) / deploy-production (push) Has been cancelled
9.3 KiB
9.3 KiB
🚀 Kernel Panic 404 Projekt auf Production hinzufügen
Übersicht
Das "Kernel Panic 404 - Interactive Terminal" Projekt wurde bereits zum Seed-Script hinzugefügt, aber um es auf Production zu bekommen, gibt es mehrere Optionen.
Option 1: Über den Editor (Empfohlen) ⭐
Schritt 1: Editor öffnen
- Gehe zu
https://dk0.dev/editor(oderhttps://dev.dk0.dev/editorfür Staging) - Logge dich mit Admin-Credentials ein
Schritt 2: Neues Projekt erstellen
- Klicke auf "New Project" oder gehe direkt zu
/editor - Fülle die Felder aus:
Grunddaten:
- Title:
Kernel Panic 404 - Interactive Terminal - Description:
An interactive terminal-style 404 page with a fully functional command line, file system navigation, and Easter eggs inspired by Stranger Things, Mr. Robot, and Hitchhiker's Guide to the Galaxy. - Category:
Web Development - Tags:
Next.js,React,TypeScript,Terminal,404,Interactive,Easter Eggs - Featured: ✅ (Checkbox aktivieren)
- Published: ✅ (Checkbox aktivieren)
Content (Markdown):
# Kernel Panic 404 - Interactive Terminal
An immersive, retro-style 404 page that transforms the error experience into an interactive terminal adventure.
## 🎯 Purpose
Instead of showing a boring "Page Not Found" message, visitors are greeted with a fully functional terminal emulator where they can explore a virtual file system, run commands, and discover hidden Easter eggs.
## 🚀 Features
- **Interactive Terminal**: Full command-line interface with command history
- **Virtual File System**: Navigate directories, read files, and explore hidden content
- **CRT Monitor Effects**: Authentic retro computer terminal aesthetics
- **Easter Eggs**: Hidden references to pop culture (Stranger Things, Mr. Robot, Hitchhiker's Guide)
- **Command Autocomplete**: Tab completion for commands and file paths
- **Audio Synthesis**: Sound effects for key presses and special events
- **Visual Effects**: Glitch effects, color shifts, and screen distortions
## 🛠️ Technologies Used
- Next.js 15 (App Router)
- React (Client Components)
- TypeScript
- CSS Animations
- Web Audio API
- Framer Motion (for effects)
## 💻 Available Commands
### System Commands
- \`ls\`, \`cd\`, \`cat\`, \`grep\`, \`find\`, \`pwd\`
- \`whoami\`, \`uname\`, \`date\`, \`uptime\`
- \`clear\`, \`history\`, \`help\`
### Easter Egg Commands
- \`hawkins\` / \`011\` / \`eleven\` - Enter the Upside Down
- \`fsociety\` / \`elliot\` / \`bonsoir\` - Mr. Robot mode
- \`42\` / \`answer\` - Deep Thought calculation
- \`rm -rf /\` - Trigger kernel panic
## 🎨 Design Features
- **CRT Monitor Aesthetics**: Scanlines, phosphor glow, authentic terminal colors
- **Retro Typography**: Monospace font with terminal-style appearance
- **Interactive Elements**: Fully functional command line with history navigation
- **Visual Effects**: Screen glitches, color shifts, and distortion effects
## 🔍 Hidden Content
The file system contains hidden clues and references:
- \`/var/log/syslog\` - Contains hints about Easter eggs
- \`~/.bash_history\` - Shows previous commands
- \`~/readme.txt\` - Welcome message and hints
## 💡 What I Learned
- Building interactive terminal emulators in React
- Web Audio API for sound synthesis
- Complex state management for file systems
- CSS animations for retro effects
- Creating engaging error pages
## 🔮 Future Enhancements
- More Easter eggs and hidden commands
- Additional visual effects
- Sound theme variations
- More complex file system structures
- Network commands (ping, curl, etc.)
## 🎮 Try It Out
Visit any non-existent page on the site to see the terminal in action. Or click the "404" link in the footer!
**Try these commands:**
- \`ls -la\` - List all files including hidden ones
- \`cat readme.txt\` - Read the welcome message
- \`cd /var/log\` - Navigate to system logs
- \`hawkins\` - Enter the Upside Down mode
- \`42\` - Get the answer to everything
Links:
- Live URL:
/404 - GitHub: (optional, leer lassen)
- Klicke auf "Save"
Option 2: Direkt über die API
Mit curl:
curl -X POST https://dk0.dev/api/projects \
-H "Content-Type: application/json" \
-H "x-admin-request: true" \
-u "admin:your_password" \
-d '{
"title": "Kernel Panic 404 - Interactive Terminal",
"description": "An interactive terminal-style 404 page with a fully functional command line, file system navigation, and Easter eggs inspired by Stranger Things, Mr. Robot, and Hitchhiker's Guide to the Galaxy.",
"content": "# Kernel Panic 404...",
"category": "Web Development",
"tags": ["Next.js", "React", "TypeScript", "Terminal", "404", "Interactive", "Easter Eggs"],
"featured": true,
"published": true,
"live": "/404",
"date": "2025-01-09",
"difficulty": "INTERMEDIATE",
"timeToComplete": "1-2 weeks",
"technologies": ["Next.js", "React", "TypeScript", "CSS", "Web Audio API"],
"challenges": [
"Terminal emulator implementation",
"File system state management",
"Command parsing and execution"
],
"lessonsLearned": [
"Building interactive UIs",
"Web Audio API usage",
"Complex state management"
],
"futureImprovements": [
"More Easter eggs",
"Additional visual effects",
"Sound theme variations"
],
"colorScheme": "Retro terminal green on black",
"accessibility": true,
"performance": {
"lighthouse": 0,
"bundleSize": "0KB",
"loadTime": "0s"
},
"analytics": {
"views": 0,
"likes": 0,
"shares": 0
}
}'
Option 3: Über die Datenbank (SQL)
Schritt 1: Verbinde zur Production-Datenbank
# Wenn du Zugriff auf den Production-Container hast:
docker exec -it portfolio-postgres psql -U portfolio_user -d portfolio_db
Schritt 2: Projekt einfügen
INSERT INTO project (
title,
description,
content,
category,
tags,
featured,
published,
live,
date,
difficulty,
"timeToComplete",
technologies,
challenges,
"lessonsLearned",
"futureImprovements",
"colorScheme",
accessibility,
performance,
analytics,
"createdAt",
"updatedAt"
) VALUES (
'Kernel Panic 404 - Interactive Terminal',
'An interactive terminal-style 404 page with a fully functional command line, file system navigation, and Easter eggs inspired by Stranger Things, Mr. Robot, and Hitchhiker's Guide to the Galaxy.',
'# Kernel Panic 404 - Interactive Terminal...',
'Web Development',
ARRAY['Next.js', 'React', 'TypeScript', 'Terminal', '404', 'Interactive', 'Easter Eggs'],
true,
true,
'/404',
'2025-01-09',
'INTERMEDIATE',
'1-2 weeks',
ARRAY['Next.js', 'React', 'TypeScript', 'CSS', 'Web Audio API'],
ARRAY['Terminal emulator implementation', 'File system state management', 'Command parsing and execution'],
ARRAY['Building interactive UIs', 'Web Audio API usage', 'Complex state management'],
ARRAY['More Easter eggs', 'Additional visual effects', 'Sound theme variations'],
'Retro terminal green on black',
true,
'{"lighthouse": 0, "bundleSize": "0KB", "loadTime": "0s"}'::json,
'{"views": 0, "likes": 0, "shares": 0}'::json,
NOW(),
NOW()
);
Option 4: Seed-Script ausführen (⚠️ Achtung: Löscht alle Projekte!)
WARNUNG: Das Seed-Script löscht alle bestehenden Projekte und erstellt sie neu!
# Im Production-Container:
docker exec -it portfolio-app npm run seed
# Oder lokal, wenn du Zugriff auf die Production-DB hast:
DATABASE_URL="postgresql://portfolio_user:portfolio_pass@your-production-db:5432/portfolio_db" npm run seed
✅ Verifizierung
Nach dem Hinzufügen des Projekts:
-
Projekte-Seite prüfen: Gehe zu
https://dk0.dev/projects- Das Projekt sollte in der Liste erscheinen
- Es sollte als "Featured" markiert sein
-
Projekt-Detail-Seite prüfen:
- Klicke auf das Projekt
- Die Detail-Seite sollte alle Informationen anzeigen
-
404-Seite testen:
- Gehe zu
https://dk0.dev/404oder einer nicht existierenden Route - Die Terminal-404-Seite sollte erscheinen
- Gehe zu
-
Footer-Link prüfen:
- Scrolle zum Footer
- Der "404" Link sollte sichtbar sein
🔧 Troubleshooting
Problem: Projekt erscheint nicht
Lösung:
- Prüfe, ob
published: truegesetzt ist - Prüfe die Datenbank direkt:
SELECT * FROM project WHERE title LIKE '%404%'; - Prüfe die Browser-Konsole auf Fehler
- Leere den Cache:
docker exec portfolio-app npm run build
Problem: Editor funktioniert nicht
Lösung:
- Prüfe, ob du eingeloggt bist (
/manage) - Prüfe die Admin-Credentials in den Environment Variables
- Prüfe die Browser-Konsole auf Fehler
Problem: 404-Seite zeigt nicht die Terminal-Seite
Lösung:
- Prüfe, ob
app/not-found.tsxexistiert - Prüfe, ob
app/components/KernelPanic404.tsxexistiert - Baue die App neu:
npm run build - Prüfe die Browser-Konsole auf Fehler
📝 Quick Reference
Editor URL: https://dk0.dev/editor
Admin Dashboard: https://dk0.dev/manage
404-Seite: https://dk0.dev/404 oder jede nicht existierende Route
Projekte-Seite: https://dk0.dev/projects
🎯 Empfohlener Workflow
- Lokal testen: Füge das Projekt lokal hinzu und teste es
- Auf Staging deployen: Teste auf
dev.dk0.dev - Auf Production deployen: Wenn alles funktioniert, auf
dk0.devdeployen
Happy coding! 🚀