Portfolio-Website & Deployment
Entwicklung und Deployment meiner persönlichen Portfolio-Website zur Präsentation von Projekten, 3D-Modellen und technischen Schwerpunkten. Die Seite basiert auf Flask, JSON- und Markdown-gestütztem Content sowie einem 3D-Viewer mit Three.js.
Highlights
- Entwicklung einer eigenen Portfolio-Website mit Flask und Jinja2
- Projektinhalte strukturiert über JSON und Markdown verwaltet
- Integration eines 3D-Viewers mit Three.js für Modelle
- Aufbau einer klaren Projekt- und Modellstruktur für spätere Erweiterbarkeit
- Deployment über Docker, Caddy, Gunicoren und Cloudflare
Überblick
Dieses Projekt umfasst die Entwicklung und technische Strukturierung meiner persönlichen Portfolio-Website.
Ziel war es, eine Plattform zu erstellen, auf der ich meine Projekte, 3D-Modelle und technischen Schwerpunkte übersichtlich und erweiterbar präsentieren kann.
Projektziel
Die Website vereint mehrere Anforderungen:
- Präsentation von Studien-, Praxis- und Freizeitprojekten
- klare Darstellung technischer Inhalte
- Integration von 3D-Modellen im Browser
- einfache Erweiterbarkeit ohne direkte HTML-Anpassung
- Eigenes Deployment
Technische Umsetzung
Die Website wurde mit Flask umgesetzt und nutzt eine datengetriebene Struktur:
- JSON für Projektdaten
- Markdown für Inhalte
- Jinja2 Templates für Rendering
Dadurch können neue Projekte modular ergänzt werden.
Frontend-Technologien:
- HTML, CSS, Bootstrap
- JavaScript
3D-Integration
Ein zentraler Bestandteil ist ein 3D-Viewer mit Three.js,
der es ermöglicht, Modelle direkt im Browser darzustellen.
So werden klassische Projektseiten um interaktive Inhalte erweitert.
Content-System
Die Website basiert auf einer klaren Trennung von Inhalt und Darstellung:
- JSON → Struktur & Metadaten
- Markdown → Inhalte
- Templates → Darstellung
Das ermöglicht eine einfache Pflege und Erweiterung der Seite.
Deployment
Die Anwendung wurde containerisiert und für den produktiven Betrieb vorbereitet.
Die Architektur besteht aus:
- Caddy als Reverse Proxy (HTTPS, Routing)
- Gunicorn für die Flask-Anwendung
- ddclient zur Aktualisierung der DNS-Einträge bei dynamischer IP
- Cloudflare für Domain- und DNS-Management
Erkenntnisse
Durch das Projekt konnte ich Erfahrungen sammeln in:
- Webentwicklung mit Flask
- strukturierter Template-Architektur
- datengetriebenem Content-Management
- Integration von 3D-Inhalten im Browser
- Deployment und Web-Infrastruktur
Ergebnis
Es entstand eine eigenständig entwickelte Portfolio-Website, die meine Projekte und technischen Schwerpunkte in einer klaren und erweiterbaren Struktur zusammenführt. Das Projekt zeigt sowohl meine technischen Arbeiten als auch meine Herangehensweise an Software- und Systemdesign.