認証・メール送信を伴うフォーム実装を学びました!

Posted date at 2024-06-08

Udemy

TailwindCSS

Next.js

React

TypeScript

Learning

 以前の記事📒で、一度紹介した、RHF(ReactHookForm)Zodについて、ShinCodeさんのUdemy講座で学びました。今回はSupabaseによる認証や添付ファイル付のメール送信も学びました。

 ペーパーレスにおいては、入力フォームの実装は必須です。身近な実例として、私が当社入社後約1年で開発したものから抜粋して掲載します。


🚀受講した講座

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

講師 ShinCode さん

動画再生4.0時間  林がかけた時間13時間

説明文

 


🚀製作したアプリ①お問合せフォーム

 ホームページのお問合せフォームを実装しました。RHFとZodでバリデーションを実装しています。今回新たにファイル形式とサイズ上限の設定方法やメール送信方法を学びました。

 製作したアプリではZodを使用しファイル形式をPDFと画像のみとし、サイズを5MBまでとしています。メール送信にはResend📒というライブラリを使用しています。他にもメール送信で有名なライブラリとしてはSendGrid📒があります。両サービスとも重量課金制ですが、無料枠があります。

 また送信完了時の表示はトースター📒を使用しています。

 メール送信に関する意点として、今回はフロントエンドで送信処理を実装していますが、APIキーの漏洩リスクと、負荷の観点から、バックエンドで使用することが推奨されています。

 

🐡製作したアプリ


 〇入力例

inquery_form_01.png

 〇エラー表示

inquery_form_error.png

 〇受信メール

inquery_form_mail.png

 


 

🚀製作したアプリ②認証フォーム

 アプリケーションへの新規ユーザ登録とログインフォームをRHFZodを使用して実装しました。認証はSupabase📒を使用しています。

 SupabaseはFireabaseと同じBaaSです。おおむね同じことが実現できます。大きく異なる点はデータベースで、FirebaseはJSON形式のNoSQLなのに対し、SupabaseはPostgreSQLである点です。なお、私が開発した制服アプリ📒ではFirebaseでメールアドレスとパスワード認証をしています。

 

🐡製作したアプリ


 〇新規登録-エラー表示

auth_form_01.png

 〇新規登録-確認画面

auth_form_02.png

 〇新規登録-確認メール

auth_form_03.png

 〇新規登録-リダイレクト(ログイン成功)

auth_form_04.png

 


🚀実務で開発した入力フォーム

 林が開発したフォームを抜粋して掲載します。アプリが気になる方は、私のポートフォリオサイトを参照ください。

example10.png


expamle1.png


example2.png


expamle3.png


example4.png


example6.png


example7.png


example8.png


example9.png


example11.png


example12.png


example13.png

←ホームに戻る