チャレンジ - CEP(郵便番号)検索サービス

Web

概要

このリポジトリは「CEP Lookup Service」と呼ばれる、Spring Boot(Java 17+)ベースのサンプルアプリケーションです。外部のCEP API(実行環境ではMockoonでモック提供)へ問い合わせを行い、取得した結果や検索リクエストのログをデータベースに保存します。開発・検証用にDocker ComposeでPostgresとMockoonを起動でき、デフォルトではlocalプロファイルでH2のインメモリDBとMockoonを利用する設定になっています。Mavenでビルド・実行でき、学習やプロトタイプに適しています。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 2
  • ファイル数: 10
  • メインの言語: Java

主な特徴

  • Spring Boot(Java 17+)で実装されたCEP検索サービスのサンプル
  • Mockoonを用いた外部CEP APIのモックとDocker Composeでのインフラ起動
  • 検索リクエストをDBに永続化(デフォルトはH2、環境によりPostgres想定)
  • Mavenラッパーを含む軽量で学習向けの構成

技術的なポイント

このプロジェクトは典型的なSpring Bootアプリケーションの構成を想定しており、外部API呼び出しと永続化の両方を学べる点が特徴です。環境分離にはSpringプロファイル(READMEではlocalがデフォルト)を用いており、ローカル開発時はH2のインメモリDBとMockoonのモックAPIを使い、別プロファイルではPostgres等の永続DBを想定した切替が可能です。外部APIとの通信部分は、通常RestTemplateやWebClientなどのHTTPクライアントで実装され、取得したCEP情報をDTOで受け取ってエンティティに変換し、Spring Data JPA経由でDBに保存する設計が自然に適用できます。ロギングや例外処理はコントローラー/サービス層で分離して扱うことが想定され、検索履歴の保存は検索クエリのトレースや簡易的な監査に有用です。さらに、Docker ComposeでPostgresとMockoonを立ち上げられるため、外部依存をローカルで再現しつつ統合的に動作確認できる点が実運用に近い検証を可能にします。Mavenラッパー(.mvn)を含むことで環境差異を減らし、CIやローカルでのビルド再現性を高めています。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitattributes: file
  • .gitignore: file
  • .mvn: dir
  • README.md: file
  • docker-compose.yml: file

…他 5 ファイル

まとめ

外部API連携とDB永続化を学べる小規模で実用的なSpring Bootサンプル。

リポジトリ情報:

READMEの抜粋:

Challenge - CEP Lookup Service

Spring Boot (Java 17+) app to fetch CEP from external API (mocked with Mockoon) and persist query logs in H2 database.

Requirements

  • Java 17+
  • Docker & Docker Compose
  • Maven 3.8+

Start infra (DB + mocks)

docker compose up -d
  • Postgres: localhost:5432 (db/user/pass: challenge)
  • Mockoon: http://localhost:8081 (ex: GET /cep/01001000)

Configuration

Default profile: local (uses H2 + Mockoon).

  • local: H2 in-memory + Mockoon API
  • `de…