We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

【フォーム開発実践】認証やお問い合わせフォームをNext.js/RHF/zod等のモダン技術を使って開発する実践講座

Shin Code

本講座ではユーザー認証機能とお問い合わせフォームの開発にチャレンジします。フロントエンドではNext.js/TailwindCSSを利用し、フォーム状態管理と型定義とバリデーションチェックにはReact Hook Form(RHF)とZodというライブラリを利用してフォームを高速に、そして堅牢に開発する実践講座になっています。お問い合わせフォームにはResendを利用してメール送信機能まで行います。ユーザー認証にはSupabase Authenticationを利用してユーザー管理を実装します。

Read more

本講座ではユーザー認証機能とお問い合わせフォームの開発にチャレンジします。フロントエンドではNext.js/TailwindCSSを利用し、フォーム状態管理と型定義とバリデーションチェックにはReact Hook Form(RHF)とZodというライブラリを利用してフォームを高速に、そして堅牢に開発する実践講座になっています。お問い合わせフォームにはResendを利用してメール送信機能まで行います。ユーザー認証にはSupabase Authenticationを利用してユーザー管理を実装します。

■ 本コースの対象者

  • モダンなフロントエンド技術(Next.js)を使用して認証機能やフォームの開発に挑戦したい方

  • Next.js、RHF、Zodの使い方を学び、実際のプロジェクトに応用したい方

  • お問い合わせフォームを作る必要がある方(メール送信まで)

  • ユーザー認証用フォームを作る必要がある方

  • Supabaseを使ってユーザー認証機能を実装してみたい方

  • shadcn/ui等のモダンなUIライブラリを使ってみたい方

■ 本コースを受講する際の注意点

  • HTML/CSS/JavaScriptに関する基本的な知識があることを前提としています。

  • Reactの基礎(コンポーネント、JSX記法など)についての理解が必要です。

  • JavaScriptに関する実務経験があると、よりスムーズに講座を進めることができます。

この講座を通してフォーム周りの実装に自信を持って取り組むことができるようになります。またフォーム以外のNext.jsのコンポーネント管理やSupabase Authenticationやファイル送信の実装について学ぶことができます。

Enroll now

What's inside

Learning objectives

  • Nextjs(react)環境で実践的なフォーム実装ができる
  • React-hook-formとzodを利用して型安全なフォームが作成できる
  • 間違った入力をした時のバリデーションエラーが出せるようになる
  • Shadcn/uiを利用して綺麗なフォームuiコンポーネントが作成できる
  • Zodresolverを利用してrhfにスキーマ型定義を適用できる
  • カスタムフックスに切り出してリファクタリングできる
  • Usecallbackの意味と使い方が理解できる
  • Resendを利用してお問い合わせメール送信機能が実装できる
  • メールに送るテンプレートコンポーネントが作成できる
  • メール送信apiが実装できる
  • Postmanを利用してapiテストができる
  • 画像ファイル送信用に型定義とフォーム追加ができる
  • Zodのcustom()やrefine()の意味と実装方法が分かる
  • 画像サイズ・種類を制限するバリデーションチェックができる
  • Formdataとjsonの使い分けと意味が理解できる
  • メール送信中のローディング状態を管理できる
  • トースターを導入して送信成功か失敗か判断できるようになる
  • Supabase authenticationでユーザー認証(新規登録/ログイン)管理ができる
  • Html/tailwindcssで認証フォームをスクラッチで開発できる
  • ユーザー状態を管理してバリデーションチェックの出力変更ができる
  • パスワード変更フォームと実装ができる
  • 共通するコンポーネントは別ファイルで分けて使いまわしができる
  • ユーザーテーブルを作成してユーザー管理ができる
  • Rlsの意味とポリシー変更でアクセス制御ができる
  • 既に同じユーザーが存在した場合はバリデーションエラーを出せる
  • Supabaseから送られてくるメール確認内容を修正できる
  • ユーザーログアウト機能が実装できる
  • ユーザー状態を管理するライブラリやhooksが理解できる
  • Show more
  • Show less

Syllabus

本講座で学べる事が理解できます
本講座で学べること
本講座の完成品ソースコード
ResendやRHFとzodを組み合わせてメール送信付きのお問い合わせフォームを作成できるようになります。
Read more
本セクションの完成品デモ
まずはNext.jsでプロジェクトの雛形を作成しよう
shadcn/uiをプロジェクトに導入してみよう
お問い合わせフォームコンポーネントの作成を開始しよう
shadcn/uiのフォームを使ってフォームのレイアウトを作ろう
react-hook-formをフォームに導入しよう
zodライブラリを使ってフォームスキーマ定義をしよう
zodResolverを導入してスキーマの型定義を適用させよう
送信の確認とバリデーションチェックができているか確認しよう
useMailForm()のカスタムフックスを作ってリファクタリングしよう
useCallbackでカスタムフックス内の関数をメモ化しよう
Resendを利用してメール送信機能の実装を始めよう
Gmailに送られるテンプレートコンポーネントを作成しよう
Gmail送信APIを作ってみよう
Postmanを使ってメール送信APIテストをしてみよう
メールフォームからGmail送信APIを叩いてテストしてみよう
フォーム入力した内容が正常に送信されるかチェックしてみよう
ファイル送信項目をお問い合わせフォームに追加しよう
ファイル型定義やバリデーションチェックをスキーマに追加しよう
画像サイズ・種類を制限するバリデーションチェックも含めよう
ファイルデータを文字列と一緒に送信するにはどうすれば良いのか
ファイルバリデーションエラー状態を修正しよう
formDataを使ってfileを送信できる形にしてみよう
api側でformDataの情報を取り出してアタッチしてみよう
Fileオブジェクトからバッファオブジェクトを取り出して画像ファイル送信してみよう
送信時にローディング状態を実装しよう
送信成功時にトースターを出してみよう
開発したお問い合わせフォームをデプロイしてみよう
ユーザー認証フォームに必要なバリデーションチェック等の知識を学びます
Next.jsでプロジェクトの雛形を作成しよう
認証ページに遷移するためのページを作ろう
1からユーザー新規登録ページをTailwindCSSで作成しよう
Input入力コンポーネントを作成しよう
Propsを付与してコンポーネントを受け取る側で動的に変更させよう
送信ボタン用コンポーネントを作成しよう
react-hook-formを導入してフォームの状態管理をしよう
zodを導入して型定義とバリデーションチェックをしよう
カスタムフックスを呼び出してバリデーションチェックができているか確認しよう
ログインページを作成しよう
新規登録とログインページ間を移動できるリンクを設置しよう
Supabase Authenticationでユーザー管理を始めよう
Supabaseへユーザーを登録・管理してみよう
ユーザーテーブルを作成してユーザー情報を保存できるようにしよう
新規登録時にユーザー情報をテーブルへ保存しよう
RLSポリシーを変更してテーブルにアクセスできるようにしよう
既に同じユーザーが存在した場合はそのバリデーションエラーを出そう
重複エラーをユーザーに分かりやすい形で表示しよう
ユーザーログイン機能を実装しよう
メール未確認やユーザーが存在しない場合のバリデーションチェックをしよう
実際にメール確認をしてサービスにログインしてみよう
getSessionを使って本当にログインできているか確認してみよう
メール確認を促すページを作成しよう
Supabaseから届くメール本文内容を修正しよう
ユーザーログアウト機能を実装しよう
ユーザー状態は状態管理ライブラリやHooksで管理しよう
今後どのようにフォーム開発やwebプログラミングを学べばいいのかが理解できる
最後まで受講してくださった方へ
ボーナスレクチャー

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches job-ready skills and is relevant to frontend development
Appropriate for those with React foundational knowledge
May be ideal for those with basic front-end development experience
Provides practical implementation experience
May require additional learning resources for those without substantial JavaScript background
Covers the implementation of user authentication and contact forms

Save this course

Save 【フォーム開発実践】認証やお問い合わせフォームをNext.js/RHF/zod等のモダン技術を使って開発する実践講座 to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for 【フォーム開発実践】認証やお問い合わせフォームをNext.js/RHF/zod等のモダン技術を使って開発する実践講座. These are activities you can do either before, during, or after a course.

Career center

Learners who complete 【フォーム開発実践】認証やお問い合わせフォームをNext.js/RHF/zod等のモダン技術を使って開発する実践講座 will develop knowledge and skills that may be useful to these careers:

Reading list

We haven't picked any books for this reading list yet.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to 【フォーム開発実践】認証やお問い合わせフォームをNext.js/RHF/zod等のモダン技術を使って開発する実践講座.
セキュア ソフトウェア開発:実装
Most relevant
【Stripe決済実践】Next.jsとSupabaseで動画レッスン販売アプリを作りながらStripeを学ぶ実践講...
Most relevant
Next.js × shadcn/ui × Supabaseで本格的なWebアプリ開発を学ぶフルスタック講座
Most relevant
セキュア ソフトウェア開発:検証、専門的トピック
Most relevant
ChatGPT API入門-PythonによるAPI基本操作から、業務で使える実践的なChatGPT活用法を学ぼう
Most relevant
電子記事販売WebアプリケーションをNext.jsをフル活用して実践力を身に着けるWeb開発マスター講座
Most relevant
セキュア ソフトウェア開発:要件、設計、再利用
Most relevant
LangChainによる大規模言語モデル(LLM)アプリケーション開発入門―GPTを使ったチャットボットの実装まで
Most relevant
OpenAI API 完全マスターガイド: ChatGPTによるチャットボット開発や画像生成、音声認識を基礎から学ぶ
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser