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 testUm 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-envfunktioniert auch ohne Verwendung von Leiningen, daenvironnach dieser Datei sucht
Copyright © 2022 ackerleytng