位置情報データベース(地理空間インデックス)とベクトルデータベース(pgvector)を活用し、 地方創生に関する相談対応・地域資源の検索・登録を行うシステムです。 さらに、Google Maps Platform Places APIを用いて閉店・廃業したスポットを検知し 「居抜き物件」として蓄積・検索できる機能を提供します。
人間向けの詳細ドキュメント(アーキテクチャ、APIリファレンス、データベーススキーマ、居抜き物件機能の解説、開発ガイド、デプロイガイド)は docs/ を参照してください。
- ドキュメント目次:
docs/README.md
要件・設計の背景を確認したい場合は以下を参照してください。
- 要件定義書:
.kiro/specs/regional-revitalization-support-system/requirements.md - 設計書:
.kiro/specs/regional-revitalization-support-system/design.md - タスクリスト:
.kiro/specs/regional-revitalization-support-system/tasks.md
src/regional_revitalization/: アプリ本体サービス(APIRun)・推論サービス(InferRun)・ 居抜き物件同期サービスのPythonソースコードtests/: 単体テスト・Property-Based Test(Hypothesis)・結合テスト(E2Eテスト)migrations/: Cloud SQL for PostgreSQL用のマイグレーションスクリプト(DDL)terraform/: GCPリソース(Cloud Run、Cloud SQL、Cloud Storage等)のTerraformコード
Python 3.11以上が必要です。
pip install -e ".[dev]"FastAPIのAPIエンドポイントを含めて動作させる場合は、apiエクストラも追加でインストールします。
pip install -e ".[dev,api]"Cloud SQL for PostgreSQL用の実装(asyncpg)やCloud Storage用の実装
(google-cloud-storage)を利用する場合は、それぞれpostgres・gcsエクストラを
インストールしてください。
pip install -e ".[dev,postgres,gcs]"すべてのテスト(単体テスト、Property-Based Test、結合テスト、
エンコーディング統一確認テストを含む)はpytestで実行します。
pytest特定のテストファイルのみを実行する場合は、パスを指定します。
pytest tests/test_e2e.pyなお、tests/test_postgres_repository.py・tests/test_postgres_vacant_property_repository.py
に含まれる一部の統合テストは、PostGIS/pgvector/google_ml_integration拡張を
有効化したPostgreSQLコンテナが必要なため、該当環境が無い場合は自動的に
スキップされます。
すべてのソースコード・ドキュメントは日本語コメント・UTF-8・LF改行で統一します
(tests/test_encoding_compliance.pyで自動確認しています)。