デモアプリ作成の目的
以前、複数のECサイトに出品しているメーカー様からのご依頼で売り上げ状況を一元的に管理できるダッシュボードを構築する機会がありました。
近しいものとして一般的な家計簿アプリを構築しつつ、入出金の情報をグラフで表示しつつ、明細も検索できるような仕組みとしました。
一般的な家計簿アプリとして求められる最低限の機能を実装しデモアプリとしてご紹介いたします。
アプリの機能紹介の後にどのような作業をどのぐらいの期間で実装したかもまとめましたので、似たような要件のアプリ構築を弊社にご依頼いただく際の参考として頂けましたら幸いです。
構築したアプリの紹介
ダッシュボード
この画面では利用者の現在の残高、直近1ヶ月間の収入と支出、1ヶ月前との比較が一目でわかるようになっています。
残高については過去1ヶ月間の推移をグラフで示しておりグラフにマウスカーソルを当てると、細かい数字なども確認できます。
支出についてはジャンル別でグラフを提供しており、どのジャンルが支出の中で大きな割合を占めているかなども確認できます。
期間については1ヶ月間だと長い、もしくは短いなど利用者によってみたい期間がマチマチかと思いますのでフィルター機能で1週間に絞ったり、または3ヶ月に伸ばしたりなど調整することも可能です。
またPC、スマホどちらでも見ることができるようデザインを設定しています。
入出金明細画面
ダッシュボードで大まかな流れを掴んだ後は、個別の明細を確認する入出金明細があります。
明細が多い場合は日付やジャンル、金額などでソートをかけたり、ジャンルを絞って表示したりなどフィルター機能を使って個々の明細を確認できます。
入出金明細の一括取込機能
銀行の明細やクレジットの明細などを一括で取り込む機能としてCSVの取込機能を作成しました。(CSVで全ての明細が取り込めるとは限りませんがまず最初の機能として用意)
提供されるCSVも当然、会社ごとにフォーマットは異なるのでどの列に日付や金額などの情報が設定されているのか利用者側で選択可能です。「日付」「金額」「支払先」の情報を設定し登録するボタンをクリックすると、決済手段を設定し登録可能となります。
入出金明細の編集
取り込んだCSVファイルだとジャンルが設定されていないケースがあると思いますので、明細一覧画面からジャンルをセットするなど入出金明細の編集を行うことも可能です。
また明細によっては新しくジャンルを設定したいこともあるかと思いますが、入出金明細の編集画面で直接、新しいジャンルを設定し登録することも可能です。
ジャンル一覧画面
どのようなジャンルが既に設定されているかを確認するジャンル一覧画面があります。ジャンル名を変更したい、ジャンルを追加したい、ジャンルを削除したいなどこの画面を通して実行できます。
そのジャンルを設定してある明細の件数も表示してありますので、1件も明細登録されていないジャンルなどを特定し削除するなども可能です。
決済手段一覧画面
どのような決済手段が既に設定されているかを確認する決済手段一覧画面があります。こちらはジャンル一覧画面と似たような構成となっており、決済手段名を変更したい、決済手段を追加したい、決済手段を削除したいなどこの画面を通して実行できます。
ただし、入出金明細登録をする際は決済手段を必ず設定する必要があるため、既に明細が登録されている決済手段については削除できないよう制限を設けています。
入出金明細削除
誤って登録されてしまった入出金明細について削除することが可能です。複数の入出金明細をまとめて削除することも可能です。
入出金明細作成
先ほど一括で入出金明細を取り込む機能をご紹介しましたが、1件ずつ入力することも可能です。
今回の作業内容
今回実施した作業をまとめてみました。これらの作業を弊社ではおよそ2ヶ月で実装可能です。
1.環境構築
認証サービス設定
データベース設定
テストページ作成
プログラムのデプロイ
仮URLでの参照
2.ヘッダーUI作成
PC用ナビゲーション作成
SP用ナビゲーション作成
3.決済手段画面
一覧画面
取得用API
作成画面
作成用API
一括削除API
編集画面
編集用API
4.ジャンル設定画面
一覧画面
取得用API
作成画面
作成用API
一括削除API
編集画面
編集用API
5.入出金明細画面
一覧画面
取得用API
フィルター処理実装
作成画面
作成用API
一括削除API
編集画面
編集用API
6.一括明細取込画面
一括取込用画面作成
取込用API
7.集計処理
集計結果取得API
8.ダッシュボード作成
残高、収入、支出の表示処理
グラフ表示処理
フィルター処理
このデモ環境の今後の拡張
これまでご紹介した機能は一般的な家計簿アプリを提供する上で最低限の機能に絞っておりました。下記のような機能も盛り込むことでより利便性が向上し利用者が拡大される見込みが増えると考えられます。
もちろん全て必要というわけではありませんので弊社にアプリ構築をご依頼頂く際は、要・不要の検討や、初期リリース時に含める・含めないなどのご相談もさせて頂きつつ無駄なく、早期に導入できるよう支援いたします。
銀行やクレジットカード会社とのデータ連携
家計簿アプリでやはり重要なのが銀行、クレジットカード、その他電子決済サービスとのデータ連携になるかと思います。利用者の入力負担を減らすためにもできる限り幅広い企業と連携が必要になるかと思います。ただ1社ずつ連携のための手続きや開発(API連携やスクレイピング)を行なっていてはなかなかスケールアップが見込めないため、電子決済等の代行業者を介してデータを連携するなどスキームから検討していく必要があります。
サブスク機能
便利な機能を提供できるようになった先にはサブスク機能を実装しアプリ自体の収益を検討していく必要があると考えています。アカウントごとにサブスクの決済処理を実装しつつ、有料化で使える機能に関しては利用制限をかけることで比較的簡単に実現可能です。
ただしどの機能を有料化するかは十分検討する必要があるかと思います。
予算設定、通知機能
家計簿をつけている人の中で気にされているのが、「今月使いすぎているかな?」などの未来の心配をされるケースがあります。ジャンルごとに支出金額がどの程度積み上がっているか集計し事前に設定した予算をオーバーしている際に通知するなどの機能があることで安心されるのではないかと考えられます。
また最近はAIの精度が向上してきており、利用者の過去の入出金明細を元に自動で予算設定をすることも可能となっています。
レシートスキャン
都度、出金明細を入力するのが手間というケースに対応する一つとしてレシートのスキャン機能が考えられます。スキャンすることで、日付、金額、支払先などが自動的に設定され、利用者側ではジャンルを設定するだけとなれば入力も捗ると考えられます。
Google Vision APIを使うことで比較的精度高くレシートの読み込みができることは以前弊社でも検証しております。
家族共有
現在の設定としてはメールアドレス1つに対して1つの家計簿という構成になっていますが、共有設定機能を導入することで他人の家計簿を見ることも可能となります。例えば小さいお子さんが家計簿アプリをご利用され親御さんが参照するという使い方も可能となります。
さいごに
実装をご紹介するブログ記事を近々オープンします。
関連する技術ブログ
キャッシュ戦略完全ガイド:CDN・Redis・API最適化でパフォーマンスを最大化
Webアプリの高速化には、適切なキャッシュ戦略が不可欠。本記事では、CDN(Cloudflare / AWS CloudFront)による静的コンテンツ配信、Redis / Memcached を活用したデータベース負荷軽減、APIレスポンスキャッシュ(GraphQL / REST API)など、キャッシュを駆使してパフォーマンスを向上させる方法を解説。TTL設定、Next.js ISR / SSG のプリフェッチ、クエリキャッシュ(React Query / Apollo Client)、キャッシュヒット率の分析など、実践的なノウハウも紹介します。
shinagawa-web.com
チャットアプリ(画像・PDF送信、ビデオ通話機能付き)
お客様固有の要件を除き一般的なチャットアプリに求められる最低限の機能を実装しデモアプリとしてご紹介いたします。
shinagawa-web.com
React × Tailwind CSS × Emotionで実践するコンポーネント設計ガイド:デザインシステム・状態管理・再利用性の最適解
React、Tailwind CSS、Emotion、Storybook、Figma、Next.jsを活用したコンポーネント設計のベストプラクティスを紹介。デザインシステムに基づく命名規則、適切な状態管理、再利用性を高める抽象化、アクセシビリティ対応、スタイルガイドラインの整備、テーマ設定、バージョン管理、ドキュメント作成まで、モダンフロントエンド開発に欠かせない知識を徹底解説します。
shinagawa-web.com
Next.jsとAuth.jsで認証機能を実装するチュートリアル
Next.jsでアプリケーションを作る時に必要となる認証機能をどのように実装するかをご紹介する記事となります。アカウント登録から始まり、ログイン、ログアウト、ページごとのアクセス制御、OAuth、二要素認証、パスワードリセットなど認証に関連する様々な機能をコードベースでご紹介します。
shinagawa-web.com
10分で完成。AWS Amplify公式テンプレートを使ったNext.jsアプリの簡単デプロイ手順
AWS Amplifyの公式テンプレートを活用し、Next.jsアプリを素早く効率的にデプロイする方法をわかりやすく解説します。テンプレートの導入からコード修正後の再デプロイまで、初心者にも実践しやすい完全ガイドです。
shinagawa-web.com
Next.js × AWS CDK の統合環境構築:Docker でローカル開発から本番デプロイまで
Next.js と AWS CDK を1つのリポジトリで管理し、Docker を活用してローカル開発環境と本番環境向けのイメージを構築する方法を解説。ディレクトリ構成の設計から、Next.js のセットアップ、Docker Compose による開発環境の構築、ECR 向けの本番用 Docker イメージの作成、CDK の導入までを網羅。
shinagawa-web.com
Next.jsでのメール認証処理の実装ガイド:アカウント登録からトークン検証まで
Next.jsを活用したメール認証の実装方法を解説。アカウント登録時のトークン発行から、Sendgridを使ったメール送信処理まで、具体的な手順を紹介します。
shinagawa-web.com
Next.jsでのメール認証処理の実装ガイド:トークン検証からログイン画面へのリダイレクト処理までの詳細解説
前回、トークンを生成し認証用のメールを送信する処理を実装しました。今回はその続きの処理を実装していきます。ユーザー登録後、メール認証のためのトークン検証処理を実装し、成功・エラー処理を分けてユーザーに適切なメッセージを表示する方法を紹介します。ReactとNext.jsを活用したシンプルかつ堅牢な認証機能の流れを解説し、実際の動作確認まで行います。
shinagawa-web.com
弊社の技術支援サービス
無駄なコストを削減し、投資対効果を最大化する
クラウド費用の高騰、不要なSaaSの乱立、開発工数の増加――これらの課題に悩んでいませんか?本サービスでは、クラウドコストの最適化、開発効率向上、技術選定の最適化 を通じて、単なるコスト削減ではなく、ROIを最大化する最適解 をご提案します。
shinagawa-web.com
最新技術の導入・検証を支援するPoCサービス
Remix、React Server Components、TypeScript移行、クラウドサービス比較、マイクロサービス、サーバーレス、デザインシステムなど、最新技術のPoC(概念実証)を通じて、最適な技術選定と導入を支援します。貴社の開発課題に合わせた検証・実装で、ビジネスの成長を加速させます。
shinagawa-web.com
開発生産性を最大化するための支援サービス
開発チームの生産性向上、コードの品質管理、インフラの最適化まで、様々な側面からサポートします。コードベースのリファクタリングから、テスト自動化、オンボーディング強化まで、プロジェクトの成功に必要なすべての支援を提供。御社の開発現場が効率的に機能するように、技術的な障害を取り除き、スムーズな開発を実現します。
shinagawa-web.com
開発品質向上支援 – 効率的で安定したプロダクトを実現
フロントエンドからバックエンド、データベースまで、開発プロセス全体を最適化し、安定したプロダクト作りをサポートします。コードレビューの仕組み、型定義の強化、E2Eテスト環境の構築など、開発の各ステップにおけるベストプラクティスを導入することで、より効率的でバグの少ない、そしてユーザー満足度の高いサービス提供を支援します。
shinagawa-web.com
Webアプリのセキュリティ強化支援
Webアプリの脆弱性対策からインフラのセキュリティ強化まで、包括的なセキュリティ支援を提供。OWASP Top 10対策、JWT認証の最適化、APIのアクセス制御、依存パッケージの監査、セキュアコーディングの標準化など、実践的なアプローチで開発現場の安全性を向上させます。
shinagawa-web.com
目次
お問い合わせ