# ai.card iOS App atprotoベースのカードゲーム「ai.card」のiOSアプリです。 ## 特徴 - **atproto統合**: 分散型認証とデータ主権 - **リッチなアニメーション**: ガチャの迫力ある演出 - **カードコレクション**: 美しいカード表示とフィルタリング - **ユニークカードシステム**: 世界で一人だけが所有できるカード ## アーキテクチャ ### MVVM + Combine ``` Views/ ├── LoginView # atprotoログイン ├── GachaView # ガチャ画面 ├── CollectionView # コレクション画面 ├── ProfileView # プロフィール画面 ├── CardView # カード表示コンポーネント └── GachaAnimationView # ガチャアニメーション Services/ ├── APIClient # REST API通信 ├── AuthManager # 認証管理 └── CardManager # カード管理 Models/ ├── Card # カードデータモデル └── User # ユーザーデータモデル ``` ### 技術スタック - **UI**: SwiftUI - **データフロー**: Combine - **ネットワーク**: URLSession - **認証**: atproto (JWT) - **最小対応OS**: iOS 16.0 ## セットアップ ### 1. Xcodeプロジェクトを開く ```bash cd ios/AiCard open AiCard.xcodeproj ``` ### 2. API設定 開発環境では自動的に `localhost:8000` に接続します。 本番環境では `api.card.syui.ai` に接続します。 ### 3. ビルド & 実行 - シミュレーターまたは実機でビルド - atprotoアカウントでログイン - ガチャを引いてカードを集める ## 主要機能 ### 認証 - atproto DIDベース認証 - アプリパスワード使用 - 自動セッション管理 ### ガチャシステム - 通常ガチャ(無料) - プレミアムガチャ(確率アップ) - レアリティ別アニメーション - ユニークカード対応 ### カードコレクション - グリッド表示 - 検索機能 - レアリティフィルタ - 詳細表示 ### プロフィール - ユーザー情報表示 - コレクション統計 - データ同期機能 ## カードシステム ### レアリティ - **ノーマル**: 基本カード - **レア**: 少し珍しいカード - **スーパーレア**: とても珍しいカード - **キラ**: 光る演出付きカード(0.1%) - **ユニーク**: 世界で一人だけ(0.0001%) ### 視覚効果 - レアリティ別グラデーション - キラカードのスパークル効果 - ユニークカードのオーラ効果 - 3Dフリップアニメーション ## 今後の実装予定 - [ ] Push通知 - [ ] カード交換機能 - [ ] AI.verse連携 - [ ] ダークモード対応 - [ ] iPad最適化 - [ ] ウィジェット対応 ## 注意事項 - iOS 16.0以上が必要 - atprotoアカウントが必要 - インターネット接続が必要