gowherene هو تطبيق ويب لمساعدة السنغافوريين في رسم التوصيات الغذائية، مثل http://thesmartlocal's http://thesmartlocal.com/read/cheap-food-orchard، على الخريطة.
لا تحتوي هذه المدونات الشهيرة على عرض خريطة لتوصياتها، لذلك قمت ببناء gowherene للمساعدة في تصور المواقع الجغرافية للتوصيات من أجل اتخاذ قرارات أفضل.
بعض صفحات التوصيات التي تم اختبارها بعناية هي
يمكن لـ gowherene أيضًا رسم العناوين، وليس التوصيات فقط! يحاول:
ستحتاج إلى تثبيت الإصدار 1.10.1.727 على الأقل من Clojure CLI.
data
أثناء تحليل الصفحة للعثور على معلومات العنوان، يشير الرمز غالبًا إلى data
أو address-info
، وهي خريطة لما يلي:
مفتاح | قيمة |
---|---|
:postal-code-loc | الموقع (كما هو الحال في هيكوري) حيث تم العثور على الرمز البريدي، بالإضافة إلى بعض معلومات العنوان |
:header-loc | موقع الرأس المحدد إرشاديًا لهذا :postal-code-loc |
:place | اسم هذا المكان |
:address | عنوان هذا المكان |
:latlng | خط العرض وخط الطول لهذا المكان |
في emacs، قم بإجراء cider-jack-in
، ثم عند مطالبة user>
، قم بذلك
user> (def server (start-gowherene))
... elided ...
#'user/server
ثم تحقق من أن الواجهة الخلفية مرفوعة باستخدام curl
:
curl -X GET 'http://localhost:3000/parse/?url=http://thesmartlocal.com/read/restaurants-with-no-gst' | jq
user> (.stop server)
قم بعمل Cc MJ
وعندما يُطلب منك ذلك، أدخل figwheel-main
. عندما يطلب منك البناء، أدخل dev
يجب أن يتم فتح علامة تبويب في المتصفح تشير إلى http://localhost:9500
.
لبناء للإنتاج
make
يجب أن يؤدي هذا إلى بناء كل من الواجهة الخلفية والواجهة الأمامية.
DOCKER_BUILDKIT=1 docker build -t test .
GOWHERENE_DEBUG=1 java -cp target/gowherene.jar clojure.main -m gowherene.core
ما ورد أعلاه يجب أن يبدأ الخادم على المنفذ 3000.
مع عامل ميناء، افعل
docker run --rm --publish 3000:3000 --env PORT=3000 --env GOOGLE_API_TOKEN= < token > --env GOWHERENE_DEBUG=1 -it test
للاستعلام عنه،
curl -vv -X GET 'http://localhost:3000/parse/?url=http://thesmartlocal.com/read/restaurants-with-no-gst' | jq
اضغط للإتقان، وسيلتقطه render.com من GitHub وينشره.
انتقل إلى netlify، وقم بسحب وإسقاط target/dist
للتحميل.
في gowherene
، أتوقع أن تكون متغيرات البيئة التالية موجودة.
مفتاح | قيمة |
---|---|
:google-api-token | رمز واجهة برمجة التطبيقات (API) لواجهة برمجة تطبيقات الترميز الجغرافي لخرائط Google |
:port | المنفذ الذي سيتم تشغيل الخادم عليه (الافتراضي هو 3000) |
:gowherene-debug | اضبط على true لمنع إعادة التوجيه التلقائي إلى HTTPS على المنفذ 443 |
للتطوير، أستخدم ملف .lein-env
في دليل المشروع، والذي يبدو كذلك
{:google-api-token "xxx"
:gowherene-debug true}
يعمل
.lein-env
حتى بدون استخدام leiningen لأنenviron
تبحث عن هذا الملف
حقوق الطبع والنشر © 2022 Ackerleytng