Mein jüngstes Projekt während meiner aktuellen Ausbildung bei NETWAYS war die Umsetzung eines eigenen digitalen kollaborativen Kanban-Boards.
Das Besondere daran: Ich habe nicht einfach ein bestehendes Framework benutzt – ich habe mein eigenes MVC-Framework geschrieben und ein kleines ORM dazu entwickelt, um die Datenbankanbindung elegant und objektorientiert zu gestalten.
In diesem Blogpost möchte ich euch einen Einblick in das Projekt geben und was ich dabei gelernt habe.
Warum ein Kanban-Board?
Die Idee kam mir während einer unserer Schulungen, in der es unter anderen auch um Projektorganisation mittels GitLab Tickets ging. Kanban-Boards begegnen einem dabei ständig. Nachdem ich so-etwas in der selbst erstellen wollte und ein Tool dieser Art eine Vielzahl von Interaktionen mit der Datenbank hat – Daten speichern, verschieben, anzeigen und strukturieren. Daher erschien es für mich nahe liegend dies in meinem Projekt zu realisieren.
Architektur: MVC + ORM
Um das Projekt nicht nur irgendwie zum Laufen zu bringen, sondern auch sauber umzusetzen, habe ich das aus der Schulung erlernte MVC-Grundgerüst weiterentwickelt:
- Model: Boards, Listen und Karten – alles über mein eigenes ORM mit der Datenbank verbunden.
- View: Ein simples, aber funktionales Frontend mit HTML, CSS und ein bisschen JavaScript.
- Controller: Die Vermittlung zwischen Benutzeraktionen und Datenbank – z. B. beim Erstellen einer neuen Karte oder Verschieben zwischen Spalten.
Ein echtes „Aha!“-Erlebnis war für mich, wie sehr ein klarer Aufbau dabei hilft, komplexere Anwendungen übersichtlich und wartbar zu halten. Vor allem, wenn man im Team arbeitet, ist es Gold wert, wenn man schnell versteht, wo was passiert auch, wenn man an einem Bereich nicht persönlich gearbeitet hat.
Warum ein eigenes ORM?
Im Rahmen einer praxisnahen Schulung sollten wir ein Projekt umsetzen, bei dem der Fokus auf der Verwendung eines MVCs und der Erstellung einer Anwendung lag. Ich hatte schon relativ viel Vorerfahrung in der Nutzung von ORMs wie Doctrine oder Eloquent, aber selbst eines zu bauen? Das klang erstmal nach einer großen Herausforderung – und genau das war der Reiz!
Mein ORM kümmert sich darum, dass ich nicht direkt mit SQL hantieren muss.
Statt
SELECT user.name FROM cards LEFT JOIN user ON card.owner_id = user.id WHERE owner_id = :owner_id LIMIT 1;
schreibe ich einfach:
$card = Card::select()
->with('owner')
->where(['owner' => $owner])
->first();
echo $card->owner->name;
Klingt simpel – war es aber am Anfang ganz und gar nicht.
Besonders das saubere Mapping von Tabellen auf Klassen sowie das sichere und dynamische Bauen der Datenbankabfragen war ein echter Lernprozess. Ich habe viel über Prepared Statements, SQL-Injection, Datenmodellierung und PHP an sich gelernt – Dinge, die einem beim reinen Konsum von fertigen ORMs oft verborgen bleiben.
Fazit
Mein digitales Kanban-Board ist vielleicht nicht so umfangreich wie Trello und mein ORM ist vielleicht kein Meisterwerk – aber dafür 100% selbstgebaut und komplett ohne externe Pakete. Es war mein bisher größtes Softwareprojekt bei NETWAYS, bei dem ich nicht nur Code geschrieben, sondern ein ganzes System durchdacht habe – von der Datenbank bis zur Benutzeroberfläche.
Es hat mir nicht nur technisches Wissen gebracht, sondern auch mein Verständnis für saubere Softwarearchitektur gestärkt. Und wer weiß – vielleicht wird aus diesem Mini-Framework ja mal etwas Größeres?
Ich freue mich schon auf mein nächstes Projekt!


























0 Kommentare