Firebase・Firestore・Reactを使用したExpense Trackerウェブアプリケーションの構築
目次:
- イントロダクション
- Firebase、React、Next.js を使用したExpense Trackerウェブアプリケーションの構築
- Firebaseの初期設定
- Firebase認証とストレージの機能
- Firebase Firestoreを使用した費用の追加、表示、編集、削除機能
- クラウドビジョンAPIとFirebase Cloud Functionsを使用した画像の自動処理
- Firebase Cloud Functionsの設定とデプロイ
- Firestoreへのデータ追加と表示の設定
- Firestoreインデックスの作成と設定
- ウェブアプリケーションのテストとリリース
-
🏦 Firebase、React、Next.js を使用したExpense Trackerウェブアプリケーションの構築
イントロダクション
こんにちは、このビデオでは、Firebase、React、Next.jsを使用してExpense Trackerウェブアプリケーションを構築します。前回のビデオを見ていなくても問題ありませんので、今回から直接参加していただけます。前回のビデオでは、ユーザーがアカウントを作成し、ログインし、費用を追加、表示、編集、削除する機能を開発しました。そのためにFirebaseの認証、ストレージ、Firestoreを使用しました。そして、それらの機能をすべて構築した後、Firebase HostingにWebアプリをデプロイして友達と共有することができるようにしました。もし前回のビデオを見たい場合は、リンクを参照してください。
画像の自動処理
私たちが大量の領収書を蓄積することがある時、理由は何であれ、長期の休暇に行ったり、出張に行ったり、新しい家を飾るためにたくさんのアイテムを買ったり、特にお金を使ったい時、領収書を手動で費用追跡アプリに追加するのは非常に遅くて不便です。もし私たちが画像をウェブアプリケーションにアップロードし、それが自動的に関連する情報を抽出してくれるならどうでしょうか?それはおそらくより効率的で、私たちはこの大量の領収書を手動で追加することを嫌いません。Google CloudのVision APIとFirebase Cloud Functionsの助けを借りて、私たちは光学文字認識(OCR)を実装し、ユーザーが画像をアップロードして関連情報を手動で入力する必要がないようにします。ユーザーが行う必要があるのは、領収書をアップロードすることと、領収書の内容を確認するだけです。テキスト認識が自動的に残りの作業を行います。
Firebase Cloud Functionsの設定とデプロイ
詳細な手順については、Firebaseの設定、Firebase CLIのインストール、およびFirebase Cloud Functionsの初期化を行います。Firebase Cloud Functionsは、セキュアな環境でコードを実行し、サーバーやインフラストラクチャの管理をしないでバックエンドコードを実行することができます。また、自動的にスケーリングされるため、アプリケーションの需要に応じてリソースを適切に割り当てることができます。Firebase Cloud Functionsのデプロイ後、ウェブアプリケーションから画像をアップロードしてOCRが実行されることを確認しましょう。
Firestoreへのデータ追加と表示の設定
OCRで抽出した情報をFirestoreに追加するためのコードを追加します。Firestoreを使用して、未確認の領収書を特定のセクションに表示し、ユーザーにその領収書が確認が必要であることを知らせます。ユーザーが領収書を確認した後、FirestoreでisConfirmedフィールドを更新し、確認済みの費用を別のセクションに表示します。ウェブアプリケーションを再度テストし、画像のアップロードと処理が正常に行われることを確認しましょう。
Firestoreインデックスの作成と設定
Firestoreのクエリで使用するために、新しいインデックスを作成します。クエリを実行するために必要なインデックスが作成されるまでしばらく時間がかかることがあります。作成が完了したら、ウェブアプリケーションを再度テストし、インデックスが正常に作成されたことを確認しましょう。
ウェブアプリケーションのテストとリリース
テストデータを使用してウェブアプリケーションをテストし、領収書が正しく処理され、ユーザーに表示されることを確認しましょう。実際のユーザーにアプリケーションをリリースする前に、十分にテストを行って問題がないことを確認し、安全かつ確実に新機能を展開する方法も学びます。
最後に、Firebase Remote ConfigとGoogle Analyticsを使用して新機能を安全かつ確実に展開する方法について説明します。
FAQ
Q: Firebase Cloud Functionsを使うにはどうすればいいですか?
A: Firebase Cloud Functionsを使用するには、Firebaseプロジェクトを作成し、Firebase CLIをインストールして初期設定を行う必要があります。詳しい手順はドキュメントを参照してください。
Q: OCRが処理するのに時間がかかりすぎると、バッテリーを消耗しますか?
A: OCRはCPUを多く使用する可能性がありますが、Firebase Cloud Functionsを使用することで、ユーザーのデバイスに負荷がかかることはありません。OCRの処理はクラウド上で実行されるため、ユーザーのバッテリーを消耗する心配はありません。
Q: Firestoreインデックスの作成に時間がかかりますが、どうすれば早く完了させることができますか?
A: Firestoreインデックスの作成には時間がかかる場合がありますが、しばらく待機すれば完了します。もし作成に時間がかかりすぎる場合は、Firebaseプロジェクトの設定を確認し、必要なリソースが適切に構成されていることを確認してください。
Q: Firestoreのフィールドを追加する方法はありますか?
A: Firestoreへの新しいフィールドの追加は簡単です。FirebaseコンソールでFirestoreのドキュメントを開き、フィールドを追加するだけです。または、Firebase Cloud Functionsを使用してデータを追加する際に新しいフィールドを指定することもできます。
リソース
以上が、Firebase、React、Next.jsを使用したExpense Trackerウェブアプリケーションの構築についての記事です。ご参考までにお読みいただければ幸いです。それでは、次回まで、楽しいプログラミングを!