แป้งโฟลว์ , n
สถานะการไหลขณะอบ
การเล่นสำนวนกระแสเงินสดวิเศษ;
เว็บแอปกระแสเงินสด
DoughFlow เป็นเว็บแอปพลิเคชันไคลเอนต์/เซิร์ฟเวอร์ สร้างขึ้นบน EmberJS/Google Cloud Firebase ตามลำดับ
ตรรกะแบ็คเอนด์ถูกนำไปใช้ผ่านฟังก์ชัน Firebase Cloud โดยใช้ Firebase เองเป็นที่เก็บข้อมูลสำรองสำหรับข้อมูลผู้ใช้ สิ่งนี้สรุปตรรกะทางธุรกิจออกจากไคลเอนต์ในการปรับใช้ที่มีน้ำหนักเบาและไม่ต้องใช้เซิร์ฟเวอร์
ส่วนหน้าทำหน้าที่เป็นเพจคงที่จาก App Engine ( TODO อย่าทำเช่นนี้.... ให้บริการจาก GCS หรือบางอย่าง )
โฮสต์บน Google App Engine โดยใช้เฟรมเวิร์กไมโครเซอร์วิส:
ส่วนหน้านำมาใช้เป็นบริการ: default
ไฟล์ EmberJS ทำหน้าที่เป็นไฟล์คงที่ (html และเนื้อหา)
ฟังก์ชั่นแบ็คเอนด์ถูกนำมาใช้เป็นฟังก์ชั่นคลาวด์ (หมายเหตุ: รสชาติของ Firebase ไม่ใช่คลาวด์ "บริสุทธิ์" ดูเหมือนว่าการบูรณาการจะเป็นอัลฟ่าเกินไป)
ที่เก็บข้อมูลแบ็กเอนด์เป็น Firebase แบบตรง
เพื่อความสะดวก ให้ DOUGH_FLOW=/home/me/my_dough_flow_checkout
(เช่น เพิ่มลงในเชลล์ rc คุณต้อง export
เป็น zsh)
โครงการ GAE พร้อมแอป GAE (อาจต้องตั้งค่าการเรียกเก็บเงิน)
Google Cloud SDK
https://cloud.google.com/sdk/downloads
NodeJS (ฉันใช้ 7.10 กับ nvm)
brew install nvm; nvm install v7.10
EmberJS (ฉันใช้ล่าสุดเมื่อวันที่ 26-05-2560)
npm install -g [email protected]
ฐานไฟ
npm install -g firebase-tools; npm install -g firebase-server
โครงการ Firebase ที่เชื่อมโยงกับโครงการ Google Cloud ของคุณ
เซิร์ฟเวอร์ Firebase และ SDK
ไปที่ src/frontend
ember build
(หมายเหตุ: ใช่มั้ย? นั่นติดตั้งสิ่ง npm อัตโนมัติหรือไม่)
ไปที่ gae/
. คัดลอกสิ่งประดิษฐ์บิลด์สำหรับการปรับใช้ GAE
ln -s ../src/frontend/dist
ดู readme ส่วนหน้าสำหรับข้อมูลเพิ่มเติม
เมื่อสร้าง/ปรับใช้กับ AppEngine จริง:
ember build --environment=production
สิ่งที่ต้องทำ
แก้ไข /etc/hosts
(หรือคล้ายกัน) เพื่อทำแผนที่:
127.0.0.1 localhost.firebaseio.test
Firebase ชอบ DB URL ที่อยู่ในรูปแบบเฉพาะ ดังนั้นคุณจึงไม่สามารถใช้ IP ในเครื่องหรือโฮสต์ในเครื่องเป็น databaseURL
ได้
จากรากของโครงการ
bin/start-doughflow-firebase# หรือสำหรับการดีบักแบบละเอียด: DEBUG=* bin/start-doughflow-firebase
(หมายเหตุ คุณต้องมี DOUGH_FLOW
ในสภาพแวดล้อมของคุณ สคริปต์นี้จึงจะทำงาน)
(หมายเหตุ: คุณสามารถเพิ่ม
$DOUGH_FLOW/bin
ลงในเส้นทางของเชลล์เพื่อความสะดวก)
สิ่งนี้จะเริ่มต้นเซิร์ฟเวอร์ที่คล้ายกับ Firebase ในเครื่องที่โหลดข้อมูลจาก test/firebase.json
ซึ่งมีอยู่บน localhost.firebaseio.test
พอร์ต 5555
แอป Ember ได้รับการตั้งค่าให้ใช้ชื่อโฮสต์นี้เมื่อ environment=development
เริ่มเซิร์ฟเวอร์ Firebase ในเครื่อง (ดูด้านบน) จากนั้นจาก src/frontend
เซิร์ฟเวอร์ถ่าน
นี่จะเป็นการเริ่มเว็บเซิร์ฟเวอร์รีโหลดสดที่กำลังฟังบนพอร์ต 4200 ไปที่ http://localhost:4200 เพื่อดูแอป
ไม่แน่ใจว่าเราต้องการสิ่งนี้จริงหรือไม่ เราจำเป็นต้องมีฟังก์ชันคลาวด์สำหรับตรรกะเซิร์ฟเวอร์ที่ละเอียดอ่อน/ละเอียดอ่อนซึ่งลูกค้าไม่ควรควบคุม สำหรับตอนนี้เราไม่มีอะไรแบบนั้น แต่มันก็เจ็บปวดที่จะเข้าใจ ต่อไปนี้เป็นหมายเหตุบางประการสำหรับลูกหลาน
ตั้งค่าฟังก์ชันบางอย่างใน src/firebase/functions
ใช้ตัวอย่าง เช่น helloWorld ควรเป็น src/firebase/functions/index.js
ตั้งค่าการตรวจสอบสิทธิ์ในไฟล์ src/firebase/functions/config.json
สำหรับท้องถิ่นคุณอาจไม่จำเป็นต้องใช้ข้อมูลรับรองจริง
เรียกใช้โปรแกรมจำลองฟังก์ชันในเครื่อง:
จากไดเร็กทอรี src/firebase/functions
:
ส่งออก CLOUD_RUNTIME_CONFIG=`pwd`/config.json && firebase ให้บริการ -- ฟังก์ชันเท่านั้น
สิ่งที่ต้องทำ