Portfolio CMS Projekt

Portfolio CMS Projekt

28.04.2025

Über dieses Projekt

Dieses Portfolio CMS ist ein selbst entwickeltes Content-Management-System, das ich für die Präsentation meiner eigenen Projekte erstellt habe. Ich wollte eine einfache, aber flexible Lösung, mit der ich meine Arbeiten übersichtlich darstellen kann, ohne auf externe Plattformen oder komplexe Systeme angewiesen zu sein. Das CMS basiert auf PHP und MySQL und ermöglicht mir, Projekte zu verwalten, detaillierte Einträge zu erstellen und verschiedene Layoutoptionen zu nutzen.

Schnellnavigation

1Motivation & Anforderungen2Technische Umsetzung3Herausforderungen & Lösungen4Besondere Features5Persönliche Learnings

Motivation & Anforderungen

Der Weg zum eigenen CMS

Die Idee für dieses Projekt entstand aus dem Bedürfnis, meine Arbeiten strukturiert zu präsentieren. Ich brauchte ein System, das vollständige Kontrolle über Layout und Design bietet, einfach zu warten und zu aktualisieren ist, verschiedene Medien unterstützt, eine benutzerfreundliche Verwaltungsoberfläche hat und ohne komplexe Frameworks auskommt. Statt ein bestehendes CMS zu nutzen, entschied ich mich für eine Eigenentwicklung, um genau die Funktionen zu implementieren, die ich benötige, ohne unnötigen Ballast.

Technische Umsetzung

Aufbau und Architektur

Die Architektur ist bewusst einfach gehalten: Eine zentrale Initialisierungsdatei lädt die Konfiguration und stellt grundlegende Funktionen bereit. Die Datenbankstruktur besteht aus wenigen Tabellen und ermöglicht dennoch flexible Inhaltsstrukturen. Ich setzte auf PHP für die Serverlogik, MySQL als Datenbank sowie HTML5, CSS3 und JavaScript für das Frontend. Für die Dateiverwaltung habe ich ein einfaches Upload-System implementiert, das Bilder in vordefinierte Verzeichnisse speichert und automatisch eindeutige Dateinamen generiert, um Überschreibungen zu vermeiden.
Technische Umsetzung

Herausforderungen & Lösungen

Probleme kreativ lösen

Eine der größten Herausforderungen war die Entwicklung einer flexiblen Layoutstruktur für Projekteinträge. Ich wollte verschiedene Anzeigeoptionen haben, ohne für jedes Layout eigenen Code schreiben zu müssen. Die Lösung war ein Template-System mit Layout-Typ-Parametern, die das Rendering steuern. Jeder Eintrag hat einen layout_type-Parameter, der bestimmt, wie der Inhalt dargestellt wird. Eine weitere Herausforderung war die Navigation zwischen Einträgen innerhalb eines Projekts. Ich habe eine automatische Inhaltsnavigation implementiert, die es ermöglicht, direkt zu bestimmten Einträgen zu springen.
Herausforderungen & Lösungen

Besondere Features

Was mein CMS besonders macht

Das CMS bietet Grid- und Listenansicht für die Projektübersicht sowie Filterfunktionen nach Namen und Datum. Die Administration erfolgt über ein einfaches Login-System mit formularbasierter Erstellung und Bearbeitung von Projekten und Einträgen. Der Bildupload kommt mit Vorschau, und es gibt eine spezielle Updatefunktion für Datenbankänderungen. Für die Benutzerfreundlichkeit sorgen ein responsives Design für alle Bildschirmgrößen, subtile Animationen, eine intuitive Navigation und rechtskonforme Datenschutz- und Impressumsseiten.
Besondere Features

Persönliche Learnings

Was ich mitnehme

Dieses Projekt hat mir nicht nur ein funktionierendes Portfolio-System geliefert, sondern auch wertvolle Erfahrungen in der Webentwicklung. Ich habe gelernt, ein System von Grund auf zu planen und zu strukturieren, mit Datenbank-Updates umzugehen, die Balance zwischen Funktionalität und Einfachheit zu finden, Sicherheitsaspekte zu berücksichtigen und Responsive Design-Techniken anzuwenden.