自社プロダクト開発中
自動収集・自動公開のデータポータル
Web 上の公開情報を定期的に集めて整え、人手を介さずに Web とモバイルへ公開する仕組みです。収集元の変化に強い「品質ゲート」を中心に設計しました。
構成
クライアント
- 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 とモバイルの型を自動生成しています。デザイントークンも両方で共有しています。