ファンイベント予測アプリケーション - ファンの好みを分析して最適なイベントを提案するサービスです。
- フロントエンド: Next.js, React, TypeScript, Tailwind CSS, Shadcn UI
- バックエンド: FastAPI, Python, Azure Cosmos DB
- Docker と Docker Compose がインストールされていること
- Git がインストールされていること
git clone <repository-url>
cd kobe-ai-hakatonルートディレクトリに .env ファイルを作成し、以下の環境変数を設定します:
SECRET_KEY=your_secret_key
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30
CORS_ORIGINS=http://localhost:3000
AZURE_OPENAI_API_KEY=your_azure_openai_api_key
AZURE_OPENAI_ENDPOINT=your_azure_openai_endpoint
AZURE_OPENAI_API_VERSION=2023-05-15
AZURE_COSMOS_DB_ENDPOINT=your_cosmos_db_endpoint
AZURE_COSMOS_DB_KEY=your_cosmos_db_key
AZURE_COSMOS_DB_DATABASE=fan_events
NEXT_PUBLIC_API_URL=http://localhost:8000
開発環境では、ソースコードの変更がリアルタイムで反映されます:
docker-compose up -d本番環境では、最適化されたビルドが使用されます:
docker-compose -f docker-compose.prod.yml up -ddocker-compose downコードを変更した後、コンテナを再ビルドするには:
docker-compose up -d --buildバックエンドのログ:
docker logs fan-event-prediction-apiフロントエンドのログ:
docker logs fan-event-prediction-uiバックエンドコンテナにアクセス:
docker exec -it fan-event-prediction-api /bin/bashフロントエンドコンテナにアクセス:
docker exec -it fan-event-prediction-ui /bin/shバックエンドのみ再起動:
docker-compose restart backendフロントエンドのみ再起動:
docker-compose restart frontendkobe-ai-hakaton/
├── backend/
│ ├── app/
│ │ ├── db/ # データベース関連コード
│ │ ├── models/ # データモデル
│ │ ├── routers/ # APIルーター
│ │ ├── services/ # ビジネスロジック
│ │ └── utils/ # ユーティリティ関数
│ ├── Dockerfile # バックエンド Docker 設定
│ └── requirements.txt # Python 依存関係
├── frontend/
│ ├── src/
│ │ ├── components/ # Reactコンポーネント
│ │ ├── pages/ # ページコンポーネント
│ │ ├── styles/ # スタイルシート
│ │ └── utils/ # ユーティリティ関数
│ ├── Dockerfile # フロントエンド本番用 Docker 設定
│ ├── Dockerfile.dev # フロントエンド開発用 Docker 設定
│ └── package.json # Node.js 依存関係
├── docker-compose.yml # 開発用 Docker Compose 設定
└── docker-compose.prod.yml # 本番用 Docker Compose 設定
POST /api/auth/register- ユーザー登録POST /api/auth/login- ログイン
GET /api/fan-preferences/- ファンの好み一覧取得POST /api/fan-preferences/- ファンの好み追加PUT /api/fan-preferences/{preference_id}- ファンの好み更新DELETE /api/fan-preferences/{preference_id}- ファンの好み削除
GET /api/events/- イベント一覧取得GET /api/events/predict- ユーザーに適したイベント予測
Cosmos DB 接続に問題がある場合、バックエンドは自動的にモック DB に切り替わります。実際の Cosmos DB を使用するには、環境変数に正しいエンドポイントとキーを設定する必要があります。
開発中に TypeScript エラーが発生した場合、次のコマンドを実行して型定義を更新します:
docker exec -it fan-event-prediction-ui npm install -D @types/react @types/react-dom @types/nodeビルドエラーが発生した場合、コンテナログを確認して問題を特定します:
docker logs fan-event-prediction-uiコンテナを完全に再ビルドする必要がある場合:
docker-compose down
docker-compose up -d --build