RailsApi x Nuxt.jsのSPA開発が動画になります
このブログをきっかけに、Udemyの中の人からお声がけいただき、Udemyで動画を公開することになりました。
2020年秋頃の公開を予定しています。
この記事には、そのお伝えとこのカテゴリーの歩き方が書かれています。
このカテゴリーでは動画の基となる台本を公開します
動画はブログのようなテキストとは違って、後戻り編集がほぼ不可能です。
そこで、動画作りに当たってアプリ開発を2周することにしました。
- 1周目 ... 実際に開発を行いながら、教材全体の流れを組み立て、構成・台本を作成する。
- 2周目 ... 構成に従って、動画を撮りながら開発を行い、完成させる。
このカテゴリーでは、1周目で作成した台本を記事として公開します。
つまりは動画のテキスト版をここで見ることができます。
Udemyの動画内で作るアプリケーションの概要
今回作るアプリケーションは、カテゴリーSPA開発の続編となる「【実践】Rails6とNuxt.jsで作るユーザー JWT認証付きシングルページアプリケーション」です。(タイトルは仮)
具体的な内容
- Docker for Mac上でRailsの環境構築
- Docker上のRailsをHerokuにデプロイ
- RailsアプリとNuxt.jsを共存
- RailsとNuxt.jsのapi通信の実装
- RailsへJWT認証を導入
- ユーザーログインページのフロントエンド・サーバーサイド開発
ユーザー会員登録ページのフロントエンド・サーバーサイド開発(動画では実装なし)Amazon SESを使った認証メールの送信(動画では実装なし)
を予定しています。
ただボリュームが出過ぎれば内容を削りますので、その際はお許しください。
2020年11月3日 追記
ログイン認証まででかなりのボリュームが出ましたので、ユーザー登録とメール認証機能はUdemyで公開しないことにしました。
リクエストが多数あれば、ここのブログ上で続編を公開できればと考えています。
なお、
- ユーザーパスワードリセット機能
- ユーザーメールアドレス変更機能
- ユーザー削除機能
については、時間があればおまけとして公開します。
(今のところ公開予定はありません。)
今回の動画が合う人・合わない人
今回の動画では下記のような視聴者を想定しています。
この動画の内容がピッタリな方
- Railsチュートリアルを完走したけど、次なんか良い教材ないかな?と探している人。
- devise(デバイス)を使わないで、ユーザー認証の仕組みをちゃんと理解したいと思っている人。
- プログラマに転職希望の人。他人とのポートフォリオに差をつけたい人。
- コピペのポートフォリオから脱却したい人。
合わない方
-
Railsを触ったことがない人。
これからRailsを触るといった方は「Railsチュートリアル」をおすすめします。今回のユーザー認証設計もRailsチュートリアルを参考にしています。
読み進むための注意事項
- このカテゴリーの記事は動画作成の台本として書いています。時折「動画」や「レッスン」などの言葉が出てくるかもしれません。無視してください。
- 1記事 = 1動画(3 ~ 5分)を想定しています。文字数にすると900 ~ 1500文字なので、短編記事が多くなると予測しています。ご了承ください。
- 今回の公開日や動画の内容などは、変更になることが大いにあります。特に記事の内容については、ボリュームが出過ぎれば内容を削ることが想定されます。
それでは!お楽しみください。
今回は、ちゃんと完走しますね。お楽しみに!
(SAP開発、ブログ構築は中途半端になってごめんなさい。この場を借りて謝罪します。)
あなたの力になれること
私自身が独学でプログラミングを勉強してきたので、一人で学び続ける苦しみは痛いほど分かります。そこで、当時の私がこんなのあったら良いのにな、と思っていたサービスを立ち上げました。周りに質問できる人がいない、答えの調べ方が分からない、ここを聞きたいだけなのにスクールは高額すぎる。そんな方に向けた単発・短期間メンターサービスを行っています。
独学プログラマのサービス
Udemyの投稿
1
【お知らせ】UdemyでRails × Nuxt.jsの動画を公開することになりました
2
アプリケーション仕様書
3
このカテゴリーの歩き方(まずはここをチェック)
4
(Docker+Rails6+Nuxt.js+PostgreSQL)=>Heroku 環境構築~デプロイまでの手順書
1
Docker for Macをインストールする手順
2
分かるDocker解説。仮想環境・コンテナ・Dockerイメージ・Dockerfileとは何か?
3
分かるDocker解説。DockerComposeとは何か?
1
【Docker+Rails6+Nuxt.js】今回作成するアプリの開発環境の全体像を知ろう
2
【MacOS】Homebrew経由でGitをインストールする方法
3
Rails6を動かすAlpineベースのDockerfileを作成する(AlpineLinuxとは何か)
4
Nuxt.jsを動かすAlpineベースのDockerfileを作成する(C.UTF-8とは何か)
5
.envファイルを使ったdocker-compose.ymlの環境変数設計
6
Rails6・Nuxt.js・PostgreSQLを動かすdocker-compose.ymlファイルを作成する
7
docker-compose.ymlを使ってRails6を構築する(PostgreSQLパスワード変更方法)
8
docker-compose.ymlを使ってNuxt.jsを構築する
1
複数プロジェクトで行うGit管理の全体像を理解しよう(Gitサブモジュール解説)
2
【Git】既存の子ディレクトリをサブモジュール管理に変更する手順
3
【GitHub】秘密鍵の生成・公開鍵を追加・SSH接続するまでを画像で分かりやすく
4
【GitHub】リモートリポジトリの追加・サブモジュールのリンク設定を行う
1
【Rails6】"Hello" jsonを返すコントローラを作成する
2
【Nxut.js】axiosの初期設定を行う(baseURL・browserBaseURLを解説)
3
【Rails6】Gem rack-corsを導入してCORS設定を行う(オリジン・CORSとは何か)
1
デプロイ準備。Herokuへ新規会員登録を行いHerokuCLIをインストールする
2
heroku.yml解説編。Docker環境のRails6をHerokuにデプロイする(1/2)
3
HerokuCLI-manifestのデプロイ解説編。Docker環境のRails6をHerokuにデプロイする(2/2)
4
Dockerfile解説編。Docker環境のNuxt.jsをHerokuにデプロイする(1/2)
5
デプロイ完結編。Docker環境のNuxt.jsをHerokuにデプロイする(2/2)
1
【Rails6】application.rbの初期設定(タイムゾーン・I18n・Zeitwerk)
2
【Rails6】モデル開発に必要なGemのインストールとHirb.enableの自動化
3
【Docker+Rails】A server is already running. Check /tmp/pids/server.pidエラーの対応
4
【Docker】<none>タグのイメージを一括削除する & Rails .gitignoreの編集
1
Railsユーザーモデル作成。テーブル設計・ユーザー認証設計を理解する
2
Railsユーザーモデルのバリデーション設定(has_secure_password解説)
3
Railsバリデーションエラーメッセージの日本語化(ja.yml設定方法)
4
EachValidatorクラスのカスタムバリデーション設定(Rails6/lib以下読込)
5
Rails環境ごとにSeedデータ切り替えるseeds.rbの書き方
6
Rails6から導入された並列テストを理解する
7
Railsユーザーモデルバリデーションテスティング(name/email/password)
8
Nuxt.jsからRailsのユーザーテーブルを取得しHerokuにデプロイする
1
【Nuxt.js2.13超解説】バージョンアップ手順と6つの新機能+2つの変更点
2
Docker AlpineベースのNode.js上で動くNuxt.jsにVuetifyを導入する
3
VuetifyにカスタムCSSを導入してオリジナルブレイクポイントを作る
4
Nuxt.jsにnuxt-i18nを導入して国際化に対応する
1
Nuxt.jsのレイアウト・ページ・コンポーネントの役割を理解しよう
2
Nuxt.js ウェルカムページを構成するコンポーネントファイル群を作成しよう(1/4)
3
Nuxt.js ウェルカムページにアイキャッチ画像・アプリ名・メニューボタンを表示しよう(2/4)
4
Nuxt.js addEventListenerでスクロールを検知しツールバーの色を変化させよう(3/4)
5
Nuxt.js ウェルカムページをレスポンシブデザインに対応させよう(4/4)
6
Nuxt.js 会員登録ページのレイアウトファイルを作成しよう(1/4)
7
Nuxt.js 名前、メール、パスワードのコンポーネントファイルを作成しよう(2/4)
8
Nuxt.js 親子コンポーネント間の双方向データバインディングを実装する(3/4)
9
Nuxt.js Vuetifyのv-text-fieldを使った会員登録フォームのバリデーション設定(4/4)
10
Nuxt.js ログインページ実装とHerokuデプロイまで(router. replaceとpushの違いとは)
1
Nuxt.js ログイン後のツールバーを作成しよう(inject解説)
2
Nuxt.js アカウントメニューページ・ログアウト機能を実装しよう(nuxt-child解説)
3
Nuxt.js ログイン後のトップページにプロジェクト一覧を表示しよう
4
Nuxt.js プロジェクトページにVuetifyのナビゲーションドロワーを追加しよう
5
Nuxt.js paramsIDからプロジェクトを検索してVuexに保存しよう
1
JWTとは何か?(ruby-jwtのインストール)
2
【Rails×JWT】ログイン認証解説とJWT初期設定ファイルの作成
3
【Rails×JWT】トークン発行とデコードを行うAuthTokenクラスの作成
4
【Rails×JWT】 ログイン判定を行うAuthenticatorモジュールの作成
5
【Rails×JWT】UserクラスからJWTを扱うTokenizableモジュールの作成
6
【Rails×JWT】AuthTokenクラスとAuthenticatorモジュールをテストする
7
【Rails×JWT】JWTをCookieに保存するログインコントローラーの実装
8
【Rails×JWT】ログインコントローラーのテストとHerokuデプロイ
1
【Rails×Nuxt.js】クロスオリジン通信でのCookie共有設定
2
【Nuxt.js】Railsからのログイン成功レスポンスをVuexに保存する
3
【Nuxt.js】ローカルストレージの有効期限を暗号化する(crypto-js解説)
4
【Nuxt.js】JWT有効期限内のユーザーをログインしたままにする実装
5
【Nuxt.js】ログイン前後のリダイレクト処理をミドルウェアで実装する
6
【Nuxt.js】ログイン失敗時のトースターをグローバルイベントとして作成する
7
【Nuxt.js】エラーページを作成する
8
【Rails×Nuxt.js】デモプロジェクトの作成とHerokuデプロイ(ログイン認証完)
1
【Rails×Nuxt.js】SafariのクロスサイトCookie保存拒否に対応する