LoginSignup
20
20

More than 5 years have passed since last update.

Go+GAE+Angular2で簡易的なWebサービスを構築

Last updated at Posted at 2016-12-21

11月に学んだものを使ってシンプルなWebサービスを構築してみました。
GCP + Go + Angular2 のgoogleful的なヤツです。
夜中に少しづつ書いた超絶シンプルなモノですが、如何せんAngular2でかなり苦戦してしまい、この程度のでもトータル20~30時間くらいかかってしまいました…

ss.png

サービスの内容

  1. datastoreに登録されているデータの一覧表示
  2. 登録されているデータの編集

これだけです笑。
とりあえず今回はソースの公開だけを行い、ノウハウとして役立ちそうなことはピックアップして今後記事にしていく予定です。
また、今後はこのソースに機能追加をしながら様々なサービスの学習を行う予定です。

今回やりたいこと

  • go言語でREST APIを構築する
  • Datastoreのレコードの登録・削除を管理者権限でのみ行えるようにする
  • とにかくAngular2を使ってみる

実装内容

サーバーサイドで利用したもの

  • Go
  • Google AppEngine
  • Google Cloud Datastore

フロントエンドで利用したもの

  • Angular2 (TypeScript)
  • ビルド時にSassやejs等

簡易シーケンス

簡易シーケンス.png

データの登録

admin_サンプル.PNG

管理権限のあるgoogleアカウントでログインしないと登録・削除が行えないため、実質利用できません。
ローカル環境でお試しください。

ソースコード

過去の記事の内容をMIXしているだけなので、今回はソースコードの説明無しでgithubの公開だけとなります。
正直どちらもツッコミどころが満載だと思いますので、指摘内容含め随時updateをかけていく予定です。

サーバーサイド(golang)のgithub

まだdevelop版ですが参考までに。
パッケージ構成等、試行錯誤しています(苦笑)

フロントエンド(angular2)のgithub

こちらはβ版をmasterにpush済み。v0.1.0としてreleseしています。

ローカル実行方法

フロントエンドのangular2についてはREADMEに書いてあるのでそちらをご参照ください。
gulpで実行している内容は以下の過去記事とほぼ同様のものとなります。

サーバーサイドのgolangについてはまだREADMEをpushできておりません。
が、たいしたことはやっていないです。
golangとappengine sdkが動作する環境であれば、cloneしてきてgoapp serve srcで動くと思います。
一応過去記事の「Go+GAE+Cloud Datastoreで簡単なREST APIを構築」のこの辺が参考にはなると思います。

データの登録については、http://localhost:8080/admin にアクセスし管理権限のあるgoogleアカウントでログインすればデータの登録が可能です。

次回~やりたいこと

  • API側にエラーコードを返す処理を入れる
  • SearchAPIの利用
  • Memcacheの利用
  • Task Queueの実践的な利用
  • Angular2でのテストケースの作成
  • 双方向バインディングをいい感じに利用する
  • 沐浴が上手くできるようになりたい

今回の記事は本当は12月初旬に記事にする予定だったのですが、 めでたく念願の第一子が誕生したので2週間ほどPCに触れていませんでした。。
やや落ち着てきたので今後は定期更新を再開します。

~ではまた次回~

20
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
20