Projekt Showcase: hystreet.com

Railslove
The Railslove Blog
3 min readOct 25, 2018

--

Woran arbeiten wir und vor allem wie und mit welchem Stack? Unsere Projekt Showcases geben euch ein Gefühl für unsere Arbeit und unsere Stärken. Passen wir auch zu eurem nächsten Vorhaben?

Passantenfrequenzen. Bitte, was?

Schon mal gerätselt, wie viele Fußgänger jeden Samstag durch die Kölner Schildergasse oder die Neuhauser Straße in München drängen? Oder überlegt wo es sich lohnt eine Geschäftsfiliale zu eröffnen, die von Laufkundschaft abhängig ist? Auch wenn sich nicht jeder darüber den Kopf zerbricht, für viele Menschen und Unternehmen sind diese Fragen essentiell.

Aus diesem Grund entstand 2018 hystreet – ein Portal für die Erfassung von Passantenfrequenzen. Das Geschäftsmodell kann nicht nur für die Wertermittlung für Immobilienfirmen wichtig sein, die Passantenfrequenz ist auch für den Einzelhandel ein aussagekräftiger Faktor bei der Suche nach geeigneten Ladenlokalen und kann für Stadt- und Verkehrsplanung einen Mehrwert bieten.

Unser Kunde betreibt zu diesem Zweck Laserscanner an aktuell über 35 Standorten in vielen deutschen Einkaufsstraßen, die über mehrere Zähllinien die Anzahl und Richtung durchgehender Passanten bestimmt — 24 Stunden täglich an sieben Tagen in der Woche. So entstehen kontinuierlich enorme Datenmengen, die verarbeitet, aufbereitet und visualisiert werden wollen. Hier kommen wir ins Spiel.

Sieht simpel und clean aus, funktioniert unfassbar flüssig: Das hystreet React-Frontend ❤

Rails Backend. React Frontend. Super Performance.

Bei hystreet verheirateten wir wieder ein Rails-Backend mit einem React-Frontend — mittlerweile ist das zu unserem Lieblings-Setup geworden.

Da hystreet auch Livedaten der Passantenfrequenzen aller Standorte anbietet, rollen alle 15 Minuten neue Datensätze ein. Eine App mit so häufigen Datenimports so zu bauen, dass sie immer performant läuft, war die Herausforderung bei diesem Projekt.

Dazu setzten wir einige(scheduled)Worker ein, die die Daten asynchron importieren. Die Übersicht der Passantenfrequenzen aktualisiert sich alle 15 Minuten, während auf der Startseite Daten gecached werden, die sich nur einmal täglich aktualisieren. Die Seite lebt also von einem immer zuverlässigen Import, der bspw. fehlende Daten beim nächsten Import ergänzt oder bei einem Retry keine Daten dupliziert. Selbst bei Fehlern(imSystem oder bei den Messungen) sind die Daten spätestens am nächsten Tag korrekt.

Wie voll ist es gerade auf den Straßen? Live-Daten verschiedener Standorte.

Zudem haben wir es bei hystreet mit einem hoch dynamischen Frontend zu tun, da dieses quasi komplett aus Graphen besteht. Die wenigen großteils statischen Seiten werden als Rails Views gerendert, die zahlreichen Graphen als React-Komponenten.

Eigentlich eine Selbstverständlichkeit, aber hier noch mal besonders wichtig: Aufgrund der Komplexität und des hohen Datendurchsatzes war es uns wichtig, dass wir sowohl den Code als auch die Datenbank jederzeit zurückrollen können und dass es kontinuierliche Backups wird.

Wenn euch interessiert, wie viel auf eurer lokalen Shoppingmeile tagtäglich los ist, könnt ihr euch kostenlos auf hystreet.com registrieren und bekommt Zugriff auf alle aktuellen und vergangenen Daten!

Wir haben noch Platz für einen weiteren Gig

Wenn ihr gerade ein erfahrenes und dynamisches Team sucht, das euch in eurem Projekt unterstützt, meldet euch bei uns.

Dann machen wir auch euer Vorhaben zu unserem Herzensprojekt ❤

--

--

Railslove
The Railslove Blog

We're a team of hackers and thinkers from Cologne. We craft web applications and, well, we're kinda good at it.