見出し画像

ReactとAmplifyでTODOアプリを作ってデプロイ!

画像11

所要時間

3時間強

環境

・Amplify CLI 3.17.0
・aws-amplify 1.2.4
・aws-amplify-react 2.5.4

やったこと

1. ReactでTODOアプリを組む
2. Amplifyの設定
3. Amplifyでバックエンド設定
4. 認証機能を作成
5. APIを作成
6. デプロイ

詳しく

1. ReactでTODOアプリを組む

基本的にこちらを参考に
https://github.com/dabit3/react-notes 

2. Amplifyの設定

3. Amplifyでバックエンド設定

$ amplify init

4. 認証機能を作成

$ amplify add auth
$ amplify push

Cognitoのリソースが作られる

画像1

aws-amplify-reactのサインイン/サインアップコンポーネントをアプリに差し込む

サインアップしてみる

画像2

メール認証でべりふぁい

画像3

データはこんなふうに保存される

画像4

5. APIを作成

$ amplify add api

schemaを定義

画像5

$ amplify push

queryとmutationが自動生成される

画像6

AppSyncのリソースが作られる

画像7

DynamoDBのリソースが作られる

画像8

アプリ内からAPIを呼ぶように書き換え

タスクを登録してみる

画像9

データはこんなふうに保存される

画像10

6. デプロイ

$ amplify add hosting
$ amplify publish

S3バケットが作られて、静的ホスティングがかかる

画像12

プロダクションモードだとこの上にCloudFrontかましてhttps対応してくれる

デプロイ完了!

画像13

ビルド設定は最初の`amplify init`の時にgenったこのあたりをよしなに使ってくれたわけか

画像14

つまづいたところ

・Pinpoint入れてからCognito設定したらばぐった

いったんどちらの設定も削除、authのみ再設定でなおった

$ amplify remove analytics
$ amplify remove auth
$ amplify add auth
Do you want to use the default authentication and security configuration?
> Default configuration

おわりに

バックエンド開発もインフラ準備もなしで、TODOアプリを作成・自動デプロイまでできました〜すごいな
Amplify CLI使うのの何がいいって、AWS上の全リソースがCloudFormation経由で作られてるのでお掃除らっくらくなところですね!誰が何のために作ったのかようわからんリソースとか後々大変なことになるし!設定系のファイル追跡していればインフラのバージョン管理も楽々。
今回はやらなかったけどもAmplifyの設定からローカル環境のモックたてられるみたいだし、開発する上でもかなり有用なのではないでしょうか。
個人的にもGCPよりAWSに慣れてるのでわたしはFirebaseよりこっちの方がいいかもな〜とか思いました。

この記事が気に入ったらサポートをしてみませんか?