0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【React+Firebase】旅の支出を多通貨で管理するアプリ「Tabi Money」を作ってみた.1

Last updated at Posted at 2026-01-20

はじめに

UdemyでWeb開発の基本を学んだので、アウトプットのためにオリジナルアプリの作成に取り組みました。その開発記録です。
完成したもの:https://tabimoney-64c36.web.app/

💡 学習した講座

アウトプットにあたり、以下の講座で基礎を固めました。

  • 【世界で90万人が受講】Web Developer Bootcamp(日本語版)
    講座リンク
  • 【Reactアプリ開発】3種類のReactアプリケーションを構築して、Reactの理解をさらに深めるステップアップ講座
    講座リンク

アプリ概要

アプリ名:Tabi Money
旅行ごとにプロジェクトを作成し、現地の通貨(CZK、EUR、USDなど)で支出を入力すると、最新の為替レートを取得して日本円での合計金額を表示します。

主な機能

  • Googleログイン: 自分専用のデータを安全に保持
  • 旅行プラン作成: 国ごとの旗アイコン、通貨設定、期間の管理
  • 支出のリアルタイム記録: カテゴリー(食費・交通費など)ごとの入力
  • 自動為替換算: 外部APIから最新レートを取得し、日本円に変換
  • 可視化: 円グラフによる支出内訳の分析

使用した技術スタック

今回の開発では、モダンなフロントエンド開発の流れを汲みつつ、バックエンドの手間を省ける構成にしました。

カテゴリ 技術・ツール 選定理由
Frontend React (Vite) 高速な開発環境とコンポーネントベースの設計のため
Backend Firebase 認証(Auth)とDB(Firestore)を爆速で連携させるため
API ExchangeRate-API 為替レートをシンプルに取得するため
Icons FontAwesome 直感的なUI(ゴミ箱や家アイコン)のため
Hosting Firebase Hosting Firebaseプロジェクトとの親和性が高く、公開が容易なため

🏗️ 手順1:アプリのコンセプト決定とワイヤーフレーム作成

コンセプト

近々、初めてのヨーロッパ旅行を控えているため、「せっかくなら実際に役立つものを作りたい」と考えました。
Geminiと相談しながら、海外旅行用「リアルタイム・予算&為替管理アプリ」に決定しました。

ワイヤーフレーム(画面イメージ)

Canvaを使用して、画面の遷移や配置のイメージを作成しました。
1.jpg
2.jpg
3.jpg


🛠️ 手順2:環境構築

1. プロジェクトの作成

Viteを使用してプロジェクトを立ち上げます。

/Udemy/Original/TabiMoney
% npm create vite@latest
% npm run dev

🚨 発生したエラー

npm run dev を実行した際、以下のエラーが発生しました。

npm error Missing script: "dev"

【解決策】
ターミナルで ls を実行して確認したところ、package.json が存在するディレクトリと現在の作業階層がズレていたことが原因でした。適切な階層へ移動することで解決しました。

2. ライブラリのインポート

Udemyの講義メモを参考に、FirebaseとReact Routerをインストールしました。

npm install firebase
npm i react-router-dom

3. 各コンポーネントの雛形作成

rafce + Tab キーの補完を活用して、必要な画面の雛形を作成しました。

  • Home.jsx(ホーム画面)
  • TripDetail.jsx(詳細画面)

以下実装編

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?