【Discordクローン】React×Typescript×Firebaseを使ったDiscordクローン開発実践講座
人気アプリ「Discord」を1からReactで開発する講座。使用する技術はReact/Redux/Typescript/Firebase。近年はTypescriptの実装が増えてきており実務に近い形式で学びたい方は知っておいて損はない講座
本講座で学べること
本講座の完成品のデモ
VSCodeをインストールしよう
Node.jsをインストールしよう
【補足】React開発効率が上がるオススメVSCodeプラグイン紹介
【補足】開発効率が2倍になるVSCodeショートカットキー
ReactとTypescriptでDiscordクローン開発用プロジェクトを作成しよう
CSSのスタイリングはSassで記述してみよう
サイドバーコンポーネントを作成してみよう
サイドバーの中身のHTMLとCSSの記述をはじめよう
【補足】ブラウザ上の色を取得できるグーグル拡張機能の紹介
MaterialUIをインストールしてアイコンを利用してみよう
Discordチャンネルのヘッダーを記述してみよう
Discordチャンネルリストを作成してみよう
サイドバーのフッターアカウントを作成してみよう
サイドバーフッターをCSSでスタイリングしてみよう
Googlefontで全体の文字フォントを変更してみよう
Discordチャットコンポーネントを作成してみよう
チャットヘッダーを作成してみよう
チャットヘッダーをCSSでスタイリングしてみよう
Discordチャット送信のHTMLとCSSを実装してみよう
チャットメッセージコンポーネントを作成してみよう
【補足】HTMLとCSSを記述するときの考え方について
【補足】Discordアイコンを追加しよう
Firebaseの準備をはじめよう
Firebaseの初期設定をはじめよう
ReduxをTypescriptで用意してみよう
StoreとuserSliceを準備してみよう
ユーザーの初期状態をTypescriptで準備してみよう
Providerを使ってアプリ全体でstoreが使える状態にしよう
ログイン用ページを作成してみよう
型付きのuseSelectorとuseDispatchを準備しよう
Firebaseを使ってGoogleログイン機能を実装してみよう
ログインしたユーザー情報をStoreに通知して状態更新しよう
ログアウト機能とログインしたユーザー情報をUIに反映させよう
【補足】Redux DevToolsプラグインでstate状態を視覚的に確認してみよう
CloudFirestoreにチャンネルデータを設定してみよう
onSnapshotでチャンネルデータをリアルタイムで取得してみよう
react-error-boundaryライブラリでエラーの詳細を出力してみよう
エラーを修正してチャンネルデータを取得してみよう
チャンネルデータをDiscordに出力してみよう : その1
チャンネルデータをDiscordに出力してみよう:その2
コレクションを取り出すカスタムフックスを作ってみよう
Discordチャンネルを追加する実装をしてみよう
チャンネル情報をReduxで管理してみよう
設定したReducerに名前をつけてエラーを回避してみよう
チャット送信するために入力文字列を取得してみよう
サブコレクションにメッセージ情報を追加してみよう
onSnapshotでリアルタイムでメッセージ情報を取得してみよう
ディスコードチャット欄にメッセージを表示してみよう
メッセージを投稿した順番にソートして表示してみよう
投稿しすぎるとレイアウトがずれるバグを修正してみよう
【補足】サブコレクションデータ取得をカスタムフックスで切り出してみよう
完成したDiscordをFirebaseでデプロイしてみよう