.social

Gleis7.ch

Februar 2015

Gleis7.ch, die Jugendplattform der SBB, wurde Ende 2014 einem kompletten Redesign unterzogen, Backend sowie Frontend. Die Plattform wurde dabei auch auf den aktuellsten Microsoft-Technologiestack migriert.

ASP.NET-MVC

webapi

angular-js

Briefing

Die Plattform gleis7.ch war bereits in die Jahre gekommen und entsprach nicht mehr dem Zeitgeist. Vor allem die komplett fehlende Mobile-Tauglichkeit stellte für den Kunden aufgrund der Zielgruppe ein grosses Problem dar.

Der initiale Gedanke war ein sog. "Soft-Redesign", sprich es sollte nur das Frontend responsive neu implementiert werden. Relativ schnell wurde klar, dass das so nicht möglich sein würde und der Impact aufs Backend viel grösser ausfallen würde als angenommen.

Deswegen wurde der Scope des Projekts auch auf das Backend ausgeweitet und erlaubte uns damit, gewisse "Technical Debts" aus der Vergangenheit gleich mitzubeheben und den Wartungsaufwand entsprechend zu reduzieren. Da eine komplette Neu-Implementierung inklusive Datenbank-Architektur zeitlich nicht in Frage kam, wurde auf der bestehenden Datenstruktur aufgebaut.

Lösungsansatz

Zu Beginn des Projekts wurde kurz darüber nachgedacht, eine CMS-Plattform einzusetzen (z.B. Kentico). Aufgrund der vielen Inhalts-Seiten und der hierarchischen Inhalts-Struktur schien das naheliegend zu sein, der Gedanke wurde jedoch verworfen (zuviel Business-Logik und externe Services involviert).

Damit die Inhalte und die URL-Struktur mehrsprachig und komfortabel administriert werden konnten, wurde ein eigenes Administrations-Interface auf Bootstrap-Basis implementiert. Dieses Interface erlaubt es den Content-Editoren neue Inhalte und Navigations-Punkte, Wettbewerbe oder Teaser auf einfache Art zu erfassen und zu verknüpfen.

Technologisch basiert die Webseite auf ASP.NET MVC, WebAPI sowie Angular.JS (für den Shop und die Entertrainment-Visualisierungen). Ein zusätzliches Novum für dieses Projekt war der erstmalige Einsatz von Lucene als Search-Index für die Inhalts-Seiten sowie die Shop-Produkte.