構成

クライアント

  • WebNext.js 16(SSR / ISR)
  • モバイルExpo / React Native

サーバー

  • APIGo / Gin
  • 収集Go / ヘッドレス Chrome
  • 定期実行systemd timer

データ

  • DBMySQL 8.4

運用

  • CI/CDGitHub Actions → コンテナレジストリ
  • 配信Docker Compose / Caddy(TLS)

技術的なポイント

  • 品質ゲート — 不正なデータは捨てずに、理由を付けて隔離します。取得件数が急に減ったときは、安全側に倒して処理を止め、通知します。収集元のサイトが変わっても、データが大量に消えたり壊れたりしません。
  • 自己修復 — 大きな変更はいったん保留にします。同じ変更が一定期間続いたときだけ、自動で反映します。
  • 礼儀正しい収集 — robots.txt を守り、確認できないときは取得しません。ホストごとに速度を制限し、条件付き GET と連絡先付きの User-Agent を使います。
  • 設定だけで収集元を追加できるパーサ — 収集元ごとの違いは設定で吸収し、コードを書き足さずに対象を増やせます。
  • API 契約の一元化 — OpenAPI を唯一の API 契約にし、Web とモバイルの型を自動生成しています。デザイントークンも両方で共有しています。
実績一覧へ

Contact

開発のご相談・お見積りは、
お気軽にどうぞ。