こんにちは!しゅんせいです!
僕は、ITベンチャーの株式会社GenAi(以下、GenAi)でインターン生として働いています!
このシリーズでは、エンジニア経験が全くない僕が、GenAiの菅原さん(以下、師匠)に指導を受けながら、アプリ開発を学ぶ過程を記録していきます。
以下は、師匠が書いたFlutterFlow(ノーコードアプリ開発ツール)に関する記事です。FlutterFlow自体の概要を知りたい方はこちらをご覧ください!
![](https://www.nvv.genai.co.jp/wp-content/uploads/cocoon-resources/blog-card-cache/f347ae470a231ada091bc51fe145e309.png)
以下の予定で、師匠に出された課題をこなしていく形で進んでいくので、皆さんも一緒に手を動かしてみてください!
経費申請アプリまで進めると、SlackとFlutterFlowで作ったアプリを連携させるなど、かなり難しそうな機能まで実装できるようになります!
vol | 課題 | 概要 |
---|---|---|
vol.0 | 自己紹介カード | 基本Widgetの役割 |
vol.1 | メモアプリ | Actionの追加 |
vol.2 | 匿名掲示板アプリ | Firebaseとの連携 |
vol.3 | 匿名掲示板アプリ | Page Parameters/Page State/On Page Loadなど |
vol.4 | 掲示板アプリ | Authenticationの設定、Conditional Visibility |
vol.5 | 掲示板アプリ | UXの改善(Validation,Padding) |
vol.6 | スレッド付き掲示板アプリ | 複雑なデータモデル(ERD)、Action Output |
vol.7 | スレッド付き掲示板アプリ | レスポンシブ対応(Responsive Visibility、Responsive Text) |
vol.8 | 経費申請アプリ | API call、Googleログイン |
vol.9 | 経費申請アプリ | Custom Action、Custom Function |
本記事では、前回までの匿名掲示板アプリにログイン機能を追加し、掲示板アプリを作成します!
振り返り
前回は匿名掲示板アプリを作成し、Firebaseとの連携を学びました。
前回までの要点
- 基本的なレイアウトはColumn、Row、Stackで作成可能
- Widgetには様々なActionを追加可能
- Backend Queryでバックエンドのデータを取り出せる
- Page Parametersで、遷移後のページにデータを渡せる。←New!!
- Page Stateでページ内での変数を作成できる。←New!!
- On Page Loadで、ページのロード時にActionを設定できる。←New!!
掲示板アプリを作成!(Authenticationの設定)
![](https://www.nvv.genai.co.jp/wp-content/uploads/2024/05/Untitled-80-1024x478.png)
師匠から「匿名掲示板アプリを、匿名ではない掲示板に変更しよう。」という課題が出されました。
FirebaseのAuthenticationを利用したログイン機能の実装を学びます!
要件に「匿名ログインもできるようにしてください。」とありますが、匿名ログインってなんでしょう?
師匠の教育コンテンツを見てみます!
![](https://www.nvv.genai.co.jp/wp-content/uploads/2024/05/Untitled-81-1024x478.png)
FirebaseでAuthenticationを設定
![](https://www.nvv.genai.co.jp/wp-content/uploads/2024/05/Untitled-82-1024x584.png)
要件に従って、メールアドレスでのログインと匿名ログインを追加します!
![](https://www.nvv.genai.co.jp/wp-content/uploads/2024/05/Untitled-83-1024x576.png)
メール/パスワードをクリックし、「有効にする」にチェックを入れ、保存。
![](https://www.nvv.genai.co.jp/wp-content/uploads/2024/05/Untitled-84-1024x576.png)
同様に匿名ログインを追加。
Firebase上での設定ができました!
FlutterFlowでAuthenticationを設定
![](https://www.nvv.genai.co.jp/wp-content/uploads/2024/05/Untitled-85-1024x640.png)
vol.2でCloud Storageを使用するために、Authenticationはすでに設定済みです!
Initial Pageは仮の設定なので、sign in/sign upページを作成後に設定します!
FlutterFlowでsign in/sign upページを作成!
![](https://www.nvv.genai.co.jp/wp-content/uploads/2024/05/Untitled-86-1024x640.png)
sign inページを作成できました!
ポイントとなるWidgetのPropertyを共有します!
![](https://www.nvv.genai.co.jp/wp-content/uploads/2024/05/名称未設定のデザイン-40-1024x640.png)
パスワードを入力するTextFieldです。
Properties Panelを下にスクロールし、Additional PropertiesのPassword Fieldをオンにしました。
![](https://www.nvv.genai.co.jp/wp-content/uploads/2024/05/Untitled-87-1024x640.png)
「signin」Buttonに、メールアドレスログインのActionを設定しました。 「Auth Log In」Actionは実行後、Authenticationの設定画面で選択したLogged In Pageに自動で遷移する仕様になっています!
![](https://www.nvv.genai.co.jp/wp-content/uploads/2024/05/Untitled-88-1024x640.png)
RichTextというWidgetにActionを設定しました! 「signup」と書かれた文字をタップすると、sign upページに遷移するActionです。
![](https://www.nvv.genai.co.jp/wp-content/uploads/2024/05/Untitled-89-1024x640.png)
「ゲスト」には、匿名ログインのActionを設定しました。 Auth providerは「Anonymous」を選択します!
![](https://www.nvv.genai.co.jp/wp-content/uploads/2024/05/Untitled-90-1024x640.png)
sign upページはこんな感じです!
特にポイントは無かったので、説明は省きます。
Conditional Visibilityを用いる
![](https://www.nvv.genai.co.jp/wp-content/uploads/2024/05/Untitled-91-1024x640.png)
要件を改めて確認すると、「自分の投稿以外は更新、削除できないようにしてください。」とありました。
編集アイコンを特定の状況下でのみ表示させたい、、、
こんな時は!グーグル先生!!!
![](https://www.nvv.genai.co.jp/wp-content/uploads/2024/05/Untitled-92-1024x576.png)
発見!Conditional Visibilityを使うと良さそう! さっそくやってみます!
![](https://468516190-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhFNOxEwcl8ED58MUC_%2Fsocialpreview%2FLXVe7CdFPnNtVylrFgVF%2Fflutterflow_docs_cover.png?alt=media&token=76352822-45ce-4600-a12d-31efb44db52f)
![](https://www.nvv.genai.co.jp/wp-content/uploads/2024/05/名称未設定のデザイン-1-2-1024x640.png)
ここをオンにして
![](https://www.nvv.genai.co.jp/wp-content/uploads/2024/05/名称未設定のデザイン-2-1-1024x640.png)
Conditionsを選択し、Single Conditionをクリック!
![](https://www.nvv.genai.co.jp/wp-content/uploads/2024/05/名称未設定のデザイン-3-2-1024x640.png)
First Valueは、posts Document→userrefを選択!
![](https://www.nvv.genai.co.jp/wp-content/uploads/2024/05/名称未設定のデザイン-4-2-1024x640.png)
Second Valueは、Authenticated User→User Referenceを選択!
投稿が持っている作成者のデータがログインしている人と一致した時のみ、編集ボタンが表示される設定になりました!
まとめ
今回は、FirebaseのAuthenticationと、Conditional Visibilityを学びました。
前回までの内容に比べて簡単でしたね!
次回は、掲示板アプリのUXを改善します!
株式会社GenAiについて
株式会社GenAiは、新規事業としてのアプリケーション開発(MVP開発)を最速で実現することで、日本の様々な企業の挑戦を支えているITコンサルのスタートアップです。
ローコードツールや生成AIなどの新規技術を積極的に取り入れた開発スタイルで、少数でも最速の価値提供を実現しています。 現在GenAiでは、一緒にチャレンジしたいエンジニア志望の方を募集しています!
ご興味ある方はまずはカジュアルにお話ししてみませんか?以下からご応募お待ちしております!
コメント