メディア表現 VI 13.ノーコード開発II
目次
本日の内容
前回に引き続き
- 【第13回】ノーコード開発II
をやっていきましょう。
前回のおさらい
.bubbleを利用して、
- Tweetを入力すると表示される
の部分まで製作しました。
前回休みの人は、前回のから始めましょう。
機能重視で、あまり見た目にはこだわりません。
今日の流れ
基本は、ユーザをシステムが認識させる機能を作りましょう。
アプリを考えるときに、XD等で遷移を作ったかもしれませんが、ノーコードでは実際にデータベースとの連携になるため、その分は大変になります。
思っているより、大変かもですが、相変わらず、コーディングはゼロとなります。 やっていきましょう。
- サインアップ機能(ページ作成・ワークフロー設定)
- ログイン機能(ページ作成・ワークフロー設定)
- ユーザ用のアイコンをindexに追加して、メニュー作成
- アイコンクリックのメニュー表示非表示設定
- ログインしていないユーザは強制的にログインページへ
- プロフィール機能(ページ作成・データベース拡張)
サインアップ機能を作ろう
サインアップページのデザイン
- bubble.ioにログインして、前回のプロジェクトを開きましょう。
- 左上のPage:indexをクリックして「Add a new page」
- Page nameに「signup」としてCREATE
- すぐ下の「Responsive」をクリックして、Page 1080pxを確認しましょう。
- Pageの余白をダブルクリック。LayoutタブでContainer layoutをColumnに
- Componentsから前と同じHeaderを追加しましょう。
- 下にGroupを追加。名前を「Group Signup」、Container layoutを「column」、Make this element fixed widthのチェックを外しましょう。
- Groupを追加して、テキスト「ユーザ登録」、Input「email」のContent formatを「Email」、「password」のContent formatを「password」、ボタン「ユーザ登録」を追加
- Group SignupのLayoutでApply gap spacing between elementsにチェックを入れて10pxとしておきましょう。
- previewしてみましょう(なんか変だったら、Make this element fixed-widthを外して、paddingのleft,rightを設定しましょう)
- ヘッダー部分は後で整理します。
ユーザ登録ボタンのワークフロー設定
- ボタンを選択
- Start/Edit workflow
- Click here to add an actionでAccount, Sign the user up
- EmailにInput email’s value, PasswordにInput password’s value
- Formの中身をクリアするために次のブロックでElement ActionsのReset inputs追加。ウィンドウは閉じましょう。
- indexページに戻るために次のブロックにNavigation, Go to page…でDestinationをindex
- previewで動作を確認してみましょう。
- 何も入れないでユーザ登録ボタンを押すと、エラーが出ます。
- emailを間違えて「@」を入れない文字を入れるとエラー出てないですね。
- email,passwordとも入力するとindexに戻ります。
- DataタブでAll Usersを見てみましょう。Emailが登録されていれば成功です。Passwordは見えないような仕様になっているみたいですね。
ログイン機能を作ろう
ログインページの作成
- signupを複製してloginを作りましょう。
- Page:signupをクリックしてAdd a new pageでPage nameに「login」、Clone fromに「signup」としてCREATE
- ボタンの名前を「ログイン」
ログインボタンのワークフロー設定
- ボタンを選択
- Start/Edit workflow
- 登録する必要はないのでStep1を選択してdelete
- Reset relevant inputsの左側をクリックして、AccountのLog the user in
- EmailでInput email’s value, PasswordでInput password’s value
- previewして、わざとパスワードを間違えてみましょう。エラーが出ます。
- Email,Passwordを正しく入力して、ログインしてみましょう。indexになれば正解です。
- でも、これだとログインしているかどうかわかりませんね。
ユーザ用アイコン・メニューをindexに追加
ユーザアイコンの表示
- Designモードにして、Page:indexにしましょう。
- .bubbleロゴの右にImageを追加しましょう。
- Make this element fixed-width/height両方ともチェックして48pxにしましょう。
- Border StyleはSolid, widthを1に
- とりあえず適当な画像をStaticImageにUploadしましょう。またはExternal sourcesのSearch for free imagesで選択しましょう。
- Style をRemoveしてRoundnessを24pxにして円にしましょう。
ユーザメニューの表示
- Group Focusを追加。Reference lementをImage Aに。Container LayoutをColumnに
- ボタン「プロフィール」「ログアウト」をGroupFocusに追加。
ユーザメニューのワークフローの作成
- アイコンのStart/Edit Workflowをクリック
- Element ActionsのShowでElementをGroupFocusAに
- previewしてメニューが表示されることを確認しましょう。GroupFocusA以外をセレクトで消えますね。
- ログアウトボタンからStart/Edit Workflow
- AccountのLog the user out
- ログアウト(ログインしていないユーザ)はloginに飛ばすように設定しましょう。
- WorkflowモードでPage:indexであることを確認
- Click here to ad an eventをクリック
- GeneralのUser is logged out
- NavigationのGoto pageでDestinationをlogin
- previewして、ログインからログアウトまで確認しましょう。
プロフィール画面の追加
プロフィール画面のデザイン
- Page:indexをクリックでAdd a new page。Page nameにprofile, Clone fromにlogin
- ボタン「ログイン」を「保存」、input「email」を「名前」(Content formatをtext)、input「password」を「自己紹介」。自己紹介を右クリックで、Replace the element type, Multine input
- 名前と自己紹介を両方選択して(Shift+クリック)、右クリックでGroup elements in a Column containerに
- Group Signupの中の保存ボタンのすぐ上にGroup追加。Container layoutをRowにして、Make this element fixed-widthのチェックを外す
- Picture Uploader追加して、Width,Hiehgを100pxに(チェックは適当にー)
- Picture Uploaderの右に、名前・自己紹介のグループを入れましょう。
- Container Alignmentでセンターにして整えましょう。
- 戻るボタンを入れてみましょう。
- iconを保存ボタンの上に追加。画像・名前・自己紹介のグループと入れ替えましょう。
- iconには戻るみたいな矢印を設定しておきましょう。
Userテーブルを拡張して連携させよう
- 画像・名前・自己紹介のグループを選択して、AppearanceのType of contentにUser
- Dataタブをクリック。Data typesタブをクリック
- Create a new fieldをクリックしてimage(image),name(text),memo(text)を追加
- App Dataタブをクリック
- Run asの左の鉛筆をクリックして、nameにユーザ名をクリックしてSAVEしましょう。
- Designタブをクリック
- 余白をクリックして、profileのType of contentをUserに
- 名前のPlaceholderをクリックして、InsertDynamicDataでCurrentPageUser’s name。Initial contentにも同様に。
- 同様に自己紹介・画像にCurrentPageUser’s memo, Current Page User’s imageとしましょう。
プロフィール画面のワークフロー
- Page: indexに戻りましょう。
- 左のグレーアウトしているGroupFocus Aをクリックしてユーザメニューを表示
- プロフィールボタンのStart/Edit workflow
- Navigation - Go to page - Destination:profile、Data to send:Current User
- プロフィール画面で変更を保存できるようにしましょう。
- Page: profileに
- When Button保存 is clickedをクリック
- Step1は削除
- Reset relevant inputsの左をクリック
- DataのMake changes to thing
- Thing to changeにCurrent Page User
- Change another filedを3回押して、image = PictureUploader Current Page User’s ‘svalue, name = Input Current Page User’s ‘s value, memo = MultilineInput Current Page User’s ‘s value
- ヘッダーのimageに画像を反映させ、profileの前に戻る機能を追加しましょう。
- ヘッダーのimageをクリックしてDynamic imageからInsert Dynamic Data, Current User’s image。(調整しておこう。AppearanceのRun-mode renderingをZoom、LayoutのVertical alignmentをセンターに)
- profileの戻る矢印アイコンのStart/Edit workflow
- navigation の Go to previous page
- previewでうまく動くか確認してみましょう。
ここまででラストは来週でいいかな….