Die Technik hinter Wishlephant

01.10.2019

Ein Serverraum. Man sieht viele Kabel die in Rechnern stecken.

Foto von Taylor Vick.

Achtung, jetzt wird es etwas technischer 😉.

Programmiert hat Bodo die Seite in der Programmiersprache Elixir. Eine etwas neuere Sprache, die allerdings auf alte Technik setzt: die Erlang-VM. Das macht die Seite schnell auch auf einem günstigen und recht einfachen Server.

Wir betreiben Wishlephant auf einem Hetzner Cloud Server. Viel günstiger als die Amazon Cloud, einfacher zu bedienen und noch dazu ohne Amazon. Probiert es gerne mal aus, wir sind sehr überzeugt davon.

Als Datenbank benutzen wir PostgreSQL.

Daneben nutzen wir noch einige Dienste wie Mailgun zum Versenden von Emails und Bugsnag um bei Fehlern auf der Seite eine Email zu bekommen.

Um ein wenig Einblick zu bekommen, wie die Seite benutzt wird, nutzen wir Fathom, eine alternative zu Google Analytics die datensparsam arbeitet. Für unser Statistik-Dashboard mit der Anzahl an neuen Listen, Wünschen usw. nutzen wir Metabase.

Momentan ist die Software nicht öffentlich, aber wir versuchen, immer mehr Teile als OpenSource zu veröffentlichen. Zum Beispiel den jsx-no-react Renderer. Folgt Bodo einfach auf GitHub um über Neuigkeiten dort informiert zu werden.

Und jetzt zu dem Kern: wie lesen wir die Informationen der Webseiten aus? Dazu nutzen wir mehrere Standards. Der wichtigste ist Schema.org. Damit können Webseiten genau spezifizieren, wie das Produkt heißt, welchen Preis es hat und welches Bild angezeigt werden soll. Google und andere Suchmaschinen nutzen diese Informationen, um die Seite schöner darstellen zu können. Wir nutzen es um die Preise auszulesen. Es gibt von Google auch ein Tool zum Testen, ob die Daten der Webseite korrekt sind. Den Parser dafür zu schreiben war nicht gerade einfach. Viele Seiten setzen diesen Standard nur halb oder falsch um. Das ganze so zu bauen, das es dann trotzdem das bestmögliche rausholt, ist echt aufwändig.

Hast du weitere Fragen? Schreib uns gern!