gowherene ist eine Web-App, die Singapurern hilft, Essensempfehlungen, wie zum Beispiel http://thesmartlocal.com/read/cheap-food-orchard von thesmartlocal, auf einer Karte darzustellen.
Diese beliebten Blogs verfügen nicht über eine Kartenansicht für ihre Empfehlungen. Deshalb habe ich gowherene entwickelt, um die geografischen Standorte der Empfehlungen zu visualisieren und so eine bessere Entscheidungsfindung zu ermöglichen.
Einige sorgfältig getestete Empfehlungsseiten sind
gowherene kann auch Adressen eintragen, nicht nur Empfehlungen! Versuchen:
Sie müssen mindestens Version 1.10.1.727 der Clojure-CLI installiert haben.
data
Beim Parsen einer Seite, um Adressinformationen zu finden, bezieht sich der Code häufig auf data
oder address-info
, eine Karte von:
Schlüssel | Wert |
---|---|
:postal-code-loc | Der Ort (z. B. Point in Hickory), an dem die Postleitzahl gefunden wurde, zusammen mit einigen Adressinformationen |
:header-loc | Die Position des heuristisch ermittelten Headers für diesen :postal-code-loc |
:place | Der Name dieses Ortes |
:address | Die Adresse dieses Ortes |
:latlng | Der Breiten- und Längengrad dieses Ortes |
Führen Sie in Emacs Folgendes aus cider-jack-in
und dann nach der Eingabeaufforderung user>
Folgendes
user> (def server (start-gowherene))
... elided ...
#'user/server
Und dann überprüfen Sie, ob das Backend mit curl
aktiv ist:
curl -X GET 'http://localhost:3000/parse/?url=http://thesmartlocal.com/read/restaurants-with-no-gst' | jq
user> (.stop server)
Machen Sie Cc MJ
und geben Sie bei Aufforderung figwheel-main
ein. Wenn Sie nach Build gefragt werden, geben Sie dev
ein
Es sollte sich ein Browser-Tab öffnen, der auf http://localhost:9500
zeigt.
Für die Produktion bauen
make
Dies sollte sowohl das Backend als auch das Frontend erstellen.
DOCKER_BUILDKIT=1 docker build -t test .
GOWHERENE_DEBUG=1 java -cp target/gowherene.jar clojure.main -m gowherene.core
Das Obige sollte einen Server auf Port 3000 starten.
Mit Docker, tun Sie es
docker run --rm --publish 3000:3000 --env PORT=3000 --env GOOGLE_API_TOKEN= < token > --env GOWHERENE_DEBUG=1 -it test
Um es abzufragen,
curl -vv -X GET 'http://localhost:3000/parse/?url=http://thesmartlocal.com/read/restaurants-with-no-gst' | jq
Push to Master, render.com holt es von GitHub ab und stellt es bereit.
Gehen Sie zu Netlify, ziehen Sie target/dist
per Drag-and-Drop zum Hochladen.
In gowherene
erwarte ich, dass die folgenden Umgebungsvariablen vorhanden sind.
Schlüssel | Wert |
---|---|
:google-api-token | API-Token für die Geokodierungs-API von Google Maps |
:port | Der Port, unter dem der Server ausgeführt werden soll (Standard: 3000) |
:gowherene-debug | Auf true setzen, um die automatische Umleitung zu HTTPS an Port 443 zu verhindern |
Für die Entwicklung verwende ich eine .lein-env
Datei im Projektverzeichnis, die so aussieht
{:google-api-token "xxx"
:gowherene-debug true}
.lein-env
funktioniert auch ohne Verwendung von Leiningen, daenviron
nach dieser Datei sucht
Copyright © 2022 ackerleytng