Aliran Adonan , n
keadaan aliran saat memanggang;
permainan kata-kata arus kas yang murahan;
aplikasi web arus kas.
DoughFlow adalah aplikasi web klien/server, masing-masing dibangun di EmberJS/Google Cloud Firebase.
Logika back-end diimplementasikan melalui Firebase Cloud Functions, menggunakan Firebase sendiri sebagai penyimpanan pendukung data pengguna. Hal ini merangkum logika bisnis jauh dari klien dalam penerapan yang ringan dan tanpa server.
Front-end disajikan sebagai halaman statis dari App Engine ( TODO jangan lakukan ini.... sajikan dari GCS atau semacamnya ).
Dihosting di Google App Engine, menggunakan kerangka layanan mikronya:
Front-end diimplementasikan sebagai layanan: default
File EmberJS disajikan sebagai file statis (html & aset).
Fungsi back-end diimplementasikan sebagai Cloud Functions (NB: varian Firebase, bukan Cloud "murni"; integrasi tampaknya terlalu alfa)
Penyimpanan back-end adalah Firebase langsung
Untuk kenyamanan, biarkan DOUGH_FLOW=/home/me/my_dough_flow_checkout
(misalnya, tambahkan ke shell rc, Anda perlu export
dalam zsh)
Proyek GAE dengan aplikasi GAE (mungkin perlu penyiapan penagihan)
Google Cloud SDK
https://cloud.google.com/sdk/downloads
NodeJS (Saya menggunakan 7.10 dengan nvm)
brew install nvm; nvm install v7.10
EmberJS (Saya menggunakan yang terbaru pada 26-05-2017)
npm install -g [email protected]
basis api
npm install -g firebase-tools; npm install -g firebase-server
Proyek Firebase yang terkait dengan proyek Google Cloud Anda
Server Firebase & SDK
Pergi ke src/frontend
.
ember build
(nb: apakah itu? apakah itu menginstal barang npm secara otomatis?)
Pergi ke gae/
. Salin artefak build untuk penerapan GAE.
ln -s ../src/frontend/dist
Lihat readme front-end untuk informasi lebih lanjut.
Saat membangun/menerapkan ke AppEngine yang sebenarnya:
ember build --environment=production
TODO
Edit /etc/hosts
(atau serupa) ke peta:
127.0.0.1 localhost.firebaseio.test
Firebase menyukai URL DB dalam format tertentu, jadi Anda tidak bisa hanya menggunakan ip lokal atau host lokal sebagai databaseURL
.
Dari akar proyek,
bin/start-doughflow-firebase# atau untuk debug verbose: DEBUG=* bin/start-doughflow-firebase
(Catatan, Anda harus memiliki DOUGH_FLOW
di lingkungan Anda agar skrip ini berfungsi.)
(NB: Anda dapat menambahkan
$DOUGH_FLOW/bin
ke jalur shell Anda untuk kenyamanan)
Ini akan memulai server lokal seperti Firebase yang dimuat dengan data dari test/firebase.json
, tersedia di localhost.firebaseio.test
port 5555
. Aplikasi Ember diatur untuk menggunakan nama host ini ketika environment=development
.
Mulai server Firebase lokal (lihat di atas). Kemudian, dari src/frontend
,
server ember
Ini akan memulai server web yang memuat ulang secara langsung pada port 4200. Kunjungi http://localhost:4200 untuk melihat aplikasinya.
Tidak yakin apakah kita benar-benar membutuhkan ini. Kita memerlukan fungsi cloud untuk logika server yang rumit/sensitif yang tidak boleh dikontrol oleh klien. Untuk saat ini kami tidak memiliki hal seperti itu. Tapi sulit untuk mengetahuinya. Jadi inilah beberapa catatan untuk anak cucu.
Siapkan beberapa fungsi di src/firebase/functions
, gunakan sampel, seperti helloWorld, seharusnya src/firebase/functions/index.js
.
Siapkan auth di file src/firebase/functions/config.json
, untuk lokal Anda mungkin tidak memerlukan kredensial sebenarnya.
Jalankan emulator fungsi lokal:
Dari direktori src/firebase/functions
:
ekspor CLOUD_RUNTIME_CONFIG=`pwd`/config.json && firebase melayani --fungsi saja
TODO