Deploy the Golang app to AppEngine. With Vue.
DegaVu は、Golang のバックエンドと Vue.js のフロントエンドを持つアプリケーションを、AppEngine 上へ簡単に構築できるアプリケーション用テンプレートです。
Vue を採用するメリットである単一ファイルコンポーネンの良さを活かしつつ、GAE の開発用サーバーである dev_appserver を立ち上げながら開発できるよう、Vue の都度ビルドと事前ビルド無しで開発やデプロイが出来ます。
DEMO:
DegaVu で提供される機能については以下で確認出来ます。
- 単一ファイルコンポーネントっぽく Vue を使える
- Webpack 等での事前ビルド不要でデプロイできる
- 今時の Web アプリでよく使われる機能を実装済み
- Google アカウントによるユーザー認証(別途 Firebase の設定が必要)
- 検索対応
- 切り替え可能なカード表示とリスト表示の両方をサポートしたコンテンツ表示
- マテリアルデザインライクなコンテンツ追加ボタン
- GoogleAnalytics
- AdSense のインフィード広告
- GAE 用にスタティックファイルハンドラ設定済み
- CSS フレームワークとして Bulma.io を採用
- GCP アカウント
- GAE プロジェクト
- Firebase プロジェクト
- Gcloud ライブラリ
-
GCP の設定
-
GoogleCloudConsoleで新しいプロジェクトを作成
-
CloudShellを開く
-
gcloud app create
を実行し、適当なリージョンを選択- 速度優先なら
asia-northeast1
を選択 - FireStore を使うなら
us-central
を選択(2018/02 時点)
- 速度優先なら
-
-
Firebase の設定
- FirebaseConsoleでプロジェクトを追加して GCP と紐付ける
- Firebase の「Web アプリに Firebase を追加」からスニペットをコピーし、
web/static/js/firebase.js.sample
を参考にしてweb/static/js/firebase.js
を作成 - Firebase の Authentication を開き、
ログイン方法
からGoogle
を有効にする 承認済みドメイン
に、 GAE の URL(ProjectID.appspot.com)もしくは独自ドメインを追加する
-
ローカル PC での開発
1.ターミナルから
dev_appserver.py web/app.yaml
を実行して開発用サーバーを立ち上げながら各ファイル(*.go, *.vue, *.html 等)を編集
-
ローカル PC から GAE へデプロイ
- ターミナルで
gcloud auth login
を実行して GCP にログイン - ターミナルで
gcloud app deploy web/app.yaml --project=XXXXXX
を実行して GAE にデプロイ(ProjectID は firebase.js 等を参照)
- ターミナルで
- PWA の設定を追加
- HomeScreen へのアイコン追加
- Push 通知
- OffLine 化