ベータコンピューティングの活動や技術、開発のこだわりなどを紹介するブログです。



デジタルアドレス検索アプリ紹介

はじめに

こんにちは。Beta Computing株式会社でソフトウェア開発を担当している國田です。 この記事ではデジタルアドレス検索アプリについてお話しいたします。

デジタルアドレス検索アプリのご紹介

今回は、デジタルアドレスに登録されている住所を検索して表示するだけのシンプルなアプリを作成しました。

デジタルアドレスとは?

デジタルアドレスとは、現在の住所を7桁の英数字に紐づけることで、住所入力の手間を省くことを目的とした取り組みとして日本郵便株式会社が発表したサービスになります。
(※ 弊社は当サービスに運営等では関わってはいません。本アプリについても日本郵便株式会社が提供しているAPIを利用しただけのものになります。)

例えば、弊社の住所は以下ですが

〒 929-0343 石川県河北郡津幡町南中条へ11-4

これをデジタルアドレスに変換すると

VP5-G5YT

となります。このコードを対応Webサイトに入力すると、元の住所が自動で表示されます。住所入力の手間が省けるうえ、入力ミスの防止にもつながります。
さらにデジタルアドレスは、郵便番号では表現できないアパートの部屋番号など、より詳細な住所も指定可能です。
(デジタルアドレスの登録および検索は日本郵便株式会社公式Webサイトでアカウントを登録後に行うことができます。詳しくは以下のリンクをご覧ください。)

デジタルアドレスについて(日本郵便株式会社公式Webサイト)

デジタルアドレス検索アプリの機能

今回開発したアプリの機能は以下になります。

  • デジタルアドレスから住所検索
    • 郵便番号からも住所検索可能
  • 住所および郵便番号のコピー
  • 検索履歴の表示

以上の機能で構成されるシンプルなアプリになります。

開発の背景

今回私はとあるFlutterプロジェクトに参画するにあたり、Flutterアプリの開発をキャッチアップする必要がありました。
そのプロジェクトでは、まだ私が触ったことがないライブラリを使用されているとのことでしたので、 API通信やデータベース操作を、そのライブラリを使用して実装してみることにしました。
これらの要素を含む題材として、デジタルアドレスの検索および履歴機能を備えたアプリケーションの開発に取り組むことにしました。
また、本アプリは学習用として開発しましたが、デジタルアドレスに対応していないWebサイト等において、住所入力の手間を軽減する実用的なツールとしての活用も想定しています。

構成図

本アプリは日本郵便株式会社が提供する郵便番号・デジタルアドレスAPIを利用しています。
APIの利用には、先述のデジタルアドレスを取得するためのアカウントとは別途アカウントを取得する必要があります。 詳しくは以下のWebサイトをご覧ください。

日本郵便公式 郵便番号・デジタルアドレスAPI

また、APIの利用にはWebサイト名や、IPアドレスなどの情報が必要(実装当時)で、基本的には、スマホアプリ等のクライアントアプリからではなく、バックエンドのWebサーバからAPIコールされることを想定されているようでした。 この制約を考慮し、今回はリレーサーバーを用意して検索結果を取得し、それをスマートフォンアプリ上に表示する構成としました。

主な機能

最後にアプリの機能を実際の画面と共に紹介します。

検索画面(ホーム画面)

アプリを開くと以下の画面が表示されます。
この画面からデジタルアドレスを入力して住所を検索することができます。また、郵便番号から検索することもできます。
さらに、入力は自動で大文字化され、ひらがななどは誤入力されないようにしています。

入力例としては以下のような感じです。 7桁の英数字を入力すると検索ボタンが押せるようになり、検索ボタンを押すと検索が実行されます。

検索結果画面

登録されているデジタルアドレス、もしくは郵便番号の場合は以下のような画面が表示されます。
上から該当住所の概要マップ、住所の詳細、郵便番号および住所のコピーボタンを表示します。
この画面から住所や郵便番号をコピーして、Webサイトなどに入力するといった流れになると思います。

郵便番号を入力した場合は以下のようになります。
データによってはふりがなやローマ字も表示されます。

検索履歴画面

各画面から検索履歴画面を表示できます。
過去に検索した住所は、APIで通信する必要なくここで一覧表示可能です。
さらに、履歴を削除する機能もあります。

必要であれば履歴の検索機能や、履歴の個別削除の機能を実装することも可能です。

まとめ

今回のプロジェクトでは、実際にFlutterでのAPI連携・ローカルデータ保存といった一連の開発工程を体験することができ、非常に学びの多い時間となりました。
また、アプリ自体は今後も改善を重ねていく予定です。ご意見・ご感想があればぜひお気軽に弊社までお問い合わせください。