- 開発期間: 2025年3月(約1週間)
- 開発形態: 個人開発
1. 取引所レート表示
主要コインのレートを5秒間隔で自動更新し、基準に応じた並び替えが可能
2. コイン情報
トレンドコイン・NFTを10分間隔で更新、シンボル/名前で検索可能
3. お気に入り管理
コインのお気に入り登録/解除、お気に入りリストとして保持
- 言語:
Swift - フレームワーク:
UIKit - アーキテクチャ:
MVVM (Input/Output パターン) - 非同期処理:
RxSwift,RxCocoa - ネットワーク:
Alamofire - データベース:
Realm - UIレイアウト/画像処理:
SnapKit,Kingfisher
- 取引所画面は5秒ごと、コイン情報画面は10分ごとに更新
- ネットワーク接続状態を反映した 条件付きポーリング を実装
- ネットワーク呼び出しは RxSwift の Single でラップし、成功/失敗を明確化
- 失敗時は空データを返却し、ストリームが途切れないように設計
- RxSwift 購読で弱参照+DisposeBagを活用し、循環参照/メモリリークを防止
- セルごとに DisposeBag を持たせ、再利用時に購読が自動的に解放されるように構成
distinctUntilChangedを適用し、意味のある値変化時のみ UI 更新(不要な再描画を抑制)- ネットワーク応答はバックグラウンドスレッドで加工後、安定した更新を保証するため UIは MainSchedulerで反映
- Realm でお気に入り状態を保存し、再起動/オフラインでも維持
- Repository パターンでデータ層を抽象化し、ViewModel との結合度を低減
| 取引所 | コイン情報 | 検索 | 詳細 |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |



