Neue Website
von Alec Höfler, 2/28/2023, 8:38:43 PMWurde mal wieder Zeit für eine neue Website!
Vorherige Situation
Meine Website war lange Zeit eine Client-Side Anwendung, die nur mit SCSS und JavaScript durch webpack gebundelt ausgeliefert wurde und Daten von einer (zusammgengebastelten) C# (asp.net core) bekommen hat. Weiters wurden die Blogposts als reines HTML in der Datenbank gespeichert, es gab eine mangelhafte Optimierung für Mobil-Geräte und der initial Page Load dauerte aufgrund einiger nicht komprimierter und minified Dateien mehrere Sekunden.
Mit der neuen Version will ich diese und weitere Probleme elliminieren.
Neuer Techstack
Die neue Website wurde in JavaScript (präzise: NodeJS/Typescript) mithilfe von dem neuen Next.js 13 geschrieben. Dieses wurde für volles Server-Side-Rendering (SSR) konfiguriert und wird aktuell mit React.js und Typescript verwendet.
Als Datenbankclient wurde die ORM-Bibliothek prisma verwendet.
Die Bilder und weitere große Assets liegen auf meinem MinIO S3-Cluster.
Als Datenbank habe ich mich für eine normale mySQL entschieden, da die Website unter normalen Umständen nicht viel auf der Datenbank macht und vieles durch next.js direkt oder via Redis gecached wird.
Roadmap
Aktuell sind noch nicht alle Funktionen aus der alten Website implementiert. Es fehlen noch:
- Kontaktformular
- Administrations-Oberfläche
- Matomo Tracking
- bootstrap aus Techstack entfernen
- Kommentarfunktion
- optionaler Light-Mode.
Weiters wurden noch nicht alle Blogposts aus dem alten System übertragen. Wie bereits angesprochen liegen diese in reinem HTML vor und müssen erst zu Markdown umgewandelt werden um im neuen System bereitgestellt werden zu können. Ich habe fürs erste alle Posts ab Sommer 2022 hinzugefügt.