add claude
This commit is contained in:
124
docs/DEVELOPMENT.md
Normal file
124
docs/DEVELOPMENT.md
Normal file
@ -0,0 +1,124 @@
|
||||
# 開発ガイド
|
||||
|
||||
## セットアップ
|
||||
|
||||
### 1. API (FastAPI)
|
||||
|
||||
```bash
|
||||
cd api
|
||||
|
||||
# 仮想環境作成
|
||||
python -m venv venv
|
||||
source venv/bin/activate # macOS/Linux
|
||||
# or
|
||||
venv\Scripts\activate # Windows
|
||||
|
||||
# 依存関係インストール
|
||||
pip install -r requirements.txt
|
||||
|
||||
# 環境変数設定
|
||||
cp .env.example .env
|
||||
# .envを編集
|
||||
|
||||
# 開発サーバー起動
|
||||
uvicorn app.main:app --reload
|
||||
```
|
||||
|
||||
APIは http://localhost:8000 で起動します。
|
||||
APIドキュメントは http://localhost:8000/docs で確認できます。
|
||||
|
||||
### 2. Web (React + Vite)
|
||||
|
||||
```bash
|
||||
cd web
|
||||
|
||||
# 依存関係インストール
|
||||
npm install
|
||||
|
||||
# 開発サーバー起動
|
||||
npm run dev
|
||||
```
|
||||
|
||||
Webアプリは http://localhost:3000 で起動します。
|
||||
|
||||
## プロジェクト構造
|
||||
|
||||
```
|
||||
ai.card/
|
||||
├── api/ # FastAPI backend
|
||||
│ ├── app/
|
||||
│ │ ├── core/ # 設定、共通処理
|
||||
│ │ ├── models/ # Pydanticモデル
|
||||
│ │ ├── routes/ # APIエンドポイント
|
||||
│ │ ├── services/ # ビジネスロジック
|
||||
│ │ └── main.py # アプリケーションエントリ
|
||||
│ └── requirements.txt
|
||||
│
|
||||
├── web/ # React frontend
|
||||
│ ├── src/
|
||||
│ │ ├── components/ # Reactコンポーネント
|
||||
│ │ ├── services/ # API通信
|
||||
│ │ ├── styles/ # CSS
|
||||
│ │ ├── types/ # TypeScript型定義
|
||||
│ │ └── App.tsx # メインコンポーネント
|
||||
│ └── package.json
|
||||
│
|
||||
├── ios/ # iOS app (今後実装)
|
||||
└── docs/ # ドキュメント
|
||||
```
|
||||
|
||||
## 技術スタック
|
||||
|
||||
### Backend
|
||||
- Python 3.9+
|
||||
- FastAPI
|
||||
- Pydantic
|
||||
- SQLAlchemy (今後実装)
|
||||
- atproto SDK
|
||||
|
||||
### Frontend
|
||||
- React 18
|
||||
- TypeScript
|
||||
- Vite
|
||||
- Framer Motion (アニメーション)
|
||||
- Axios
|
||||
|
||||
## 開発のポイント
|
||||
|
||||
### 1. カードデータ
|
||||
カードは0-15のIDを持ち、ai.jsonの定義に基づいています。
|
||||
|
||||
### 2. レアリティシステム
|
||||
- 通常のガチャではキラカードが最高レア
|
||||
- uniqueカードは隠し要素として実装
|
||||
- 確率は設定ファイルで調整可能
|
||||
|
||||
### 3. atproto連携
|
||||
- ユーザー認証はatproto OAuth(今後実装)
|
||||
- カードデータはユーザーのPDSに保存(今後実装)
|
||||
- 現在はローカルストレージのみ
|
||||
|
||||
### 4. アニメーション
|
||||
- ガチャ演出はレアリティに応じて変化
|
||||
- uniqueカードは特別な演出
|
||||
- Framer Motionで実装
|
||||
|
||||
## 今後の実装予定
|
||||
|
||||
1. **データベース連携**
|
||||
- SQLAlchemyでのモデル定義
|
||||
- ユーザーごとのカード管理
|
||||
|
||||
2. **atproto統合**
|
||||
- OAuth認証
|
||||
- PDSへのデータ保存
|
||||
- DID検証
|
||||
|
||||
3. **uniqueカード検証**
|
||||
- グローバルレジストリ
|
||||
- 重複チェック
|
||||
- ai.verse連携
|
||||
|
||||
4. **iOS app**
|
||||
- SwiftUIで実装
|
||||
- 共通APIを使用
|
Reference in New Issue
Block a user