20201228_アウトプット(SNS認証によるログイン機能の実装・オリジナルアプリ)
今日行ったこと 8時間45分
オリジナルアプリ(要件定義・画面遷移)6時間35分
👉「大きい目標」にあたる部分のフォーマット(カラムに繋がる部分)や、「小さな習慣」の可視化にあたる部分について、どうやったら使ってもらえるのだろうか(使いやすいのだろうか)フックモデル
👉そもそも現実的に現在の技術で実装できるのか(カレンダーを塗りつぶす機能) などについて考えていた(なかなか思うように進まない)SNS認証によるログイン機能の実装 2時間10分
👉”SNS認証の場合にパスワードが自動生成される部分”が上手くいかず明日に持ち越し。
新しい発見
SNS認証によるログイン機能の実装について(Facebook・Googleアカウント)
- SNS認証を実現するには、ドキュメントにあるメソッドを実装していく。
OmniAuthのGithub↓
流れ | 処理内容 |
---|---|
1 | クライアントサイド側から入力によりFacebookあるいはGoogleの認証が開始 |
2 | サーバーサイド側はWebAPIに対し、リクエストを送る |
3 | 認証を経て、コーンとローラーにSNSに登録されている情報が送られる |
4 | SNSの情報から、ユーザー情報のみを取得して、既存のユーザー情報と照合を行う |
5 | その照合結果から、今回SNSで認証されたユーザーが、すでにアプリに登録されているユーザーなのか判断する |
6 | 【既存のユーザーがいない】新規登録画面に遷移する |
7 | 【すでに既存のユーザーだった】ログイン処理を行う |
【コントローラー】
authorization
と呼ばれるメソッドをprivateメソッド内に定義。facebook
とgoogle_oauth2
というアクションを定義。
【ビュー】
link_to
を使って、コントローラーのアクションが呼び出されるように定義。プレフィックスとHTTPメソッドは、OmniAuthのGitHub通りにかく。(例
user_facebook_omniauth_authorize_path, method: :post
)
上記の部分まで理解。
オリジナルアプリ(要件定義・画面遷移)について
要件定義と画面遷移について考えて、書き出し。
銭神さんのフックモデルのつくりかたを見ながら、考えて書き出し。
感想
オリジナルアプリ、思うように進まない😓
何故か理由を考えると、技術的にどうやって実装したらいいかを考えてしまい(見通しが立たなくて)不安になってしまったこと。
上記が不安になってくると、そもそもこの機能で本当にユーザーは使いたい気持ちになるのだろうか?という部分まで不安になってきたこと。
今、日記を書いていると(客観的に見ると)自分のためのアプリだから、不安な気持ちはわかるけど、どこまで実装できるか試してみようくらいの気持ちで進めていかないと前に進まないと感じた。
あと、今日は、オリジナルアプリを先に考えた後、夜ミニアプリのコードを進めた。それだとオリジナルアプリが上手くいかなければいかないほど「前に進んでいない感覚」となり、気持ち的に焦ったため、明日からはミニアプリ作ってから、オリジナルアプリを図に落とし込む作業をしようと思った。
あと銭神さんがTwitterで言っていた環境変数のやる時間をあらかじめ決めておくのと同じように、PHPをやる時間を毎日一日15分(目標は小さめに)行なおうと思った(この調子だとPHPについて後回しにしてしまい、全く勉強出来なさそうだと危機感を感じたため)
覚書
ミニアプリ(目的:知識の引き出しを増やす)
コメント機能の実装
複雑な検索機能の実装
タグ付機能の実装
パンくず機能の実装
クレジットカード決済機能(ユーザーに紐付け)
エラーメッセージの日本語化(チャットアプリに追加実装)
プレビュー機能の実装・複数枚の画像投稿の実装
優先順位
(1)ミニアプリの作成(実装方法の理解)・個人アプリのためのインタビュー・DB設計等
👉12月29日(火)締め切り
(2)個人アプリの作成。
👉1月11日(月)締め切り(基本実装)
(3)(1)で学んだことを「フリマアプリ」あるいは「個人アプリ」に反映。
👉1月17日(日)締め切り
追加:(1)(2)(3)と同時並行で、PHPについても学ぶ。
身に付ける力(直近)
PHP7
ドメイン駆動開発
Docker
身に付ける力(ゆくゆく・覚書)
環境構築
環境変数などのOS知識
バージョン対応力
データベースをインポートする力・エクスポートする
GitHubActions×OpenAPIGenerator(APICilent)