gowherene เป็นเว็บแอปที่ช่วยให้ชาวสิงคโปร์วางแผนคำแนะนำอาหาร เช่น http://thesmartlocal.com/read/cheap-food-orchard ของ thesmartlocal บนแผนที่
บล็อกยอดนิยมเหล่านี้ไม่มีมุมมองแผนที่สำหรับคำแนะนำ ดังนั้นฉันจึงสร้าง gowherene เพื่อช่วยให้เห็นภาพตำแหน่งทางภูมิศาสตร์ของคำแนะนำเพื่อการตัดสินใจที่ดีขึ้น
หน้าคำแนะนำที่ได้รับการทดสอบอย่างรอบคอบบางหน้าได้แก่
gowherene ยังสามารถพล็อตที่อยู่ได้ ไม่ใช่แค่คำแนะนำ! พยายาม:
คุณจะต้องติดตั้ง Clojure CLI เวอร์ชัน 1.10.1.727 เป็นอย่างน้อย
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
Push to master แล้ว render.com จะรับมันจาก GitHub และปรับใช้
ไปที่ netlify ลากและวาง target/dist
เพื่ออัปโหลด
ใน gowherene
ฉันคาดหวังว่าจะมีตัวแปรสภาพแวดล้อมต่อไปนี้
สำคัญ | ค่า |
---|---|
:google-api-token | โทเค็น API สำหรับ API การเข้ารหัสทางภูมิศาสตร์ของ Google Maps |
:port | พอร์ตที่จะรันเซิร์ฟเวอร์ที่ (ค่าเริ่มต้นคือ 3000) |
:gowherene-debug | ตั้งค่าเป็น true เพื่อป้องกันการเปลี่ยนเส้นทางอัตโนมัติไปยัง HTTPS บนพอร์ต 443 |
สำหรับการพัฒนา ผมใช้ไฟล์ .lein-env
ในไดเร็กทอรีโปรเจ็กต์ซึ่งมีลักษณะดังนี้
{:google-api-token "xxx"
:gowherene-debug true}
.lein-env
ทำงานได้โดยไม่ต้องใช้ leiningen เพราะenviron
ค้นหาไฟล์นั้น
ลิขสิทธิ์ © 2022 ackerleytng