Skip to content

bean-i/Coini

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

🪙 Coini

  • 開発期間: 2025年3月(約1週間)
  • 開発形態: 個人開発

✅ 主な機能

1. 取引所レート表示
主要コインのレートを5秒間隔で自動更新し、基準に応じた並び替えが可能

2. コイン情報
トレンドコイン・NFTを10分間隔で更新、シンボル/名前で検索可能

3. お気に入り管理
コインのお気に入り登録/解除、お気に入りリストとして保持

💻 技術スタック

  • 言語: Swift
  • フレームワーク: UIKit
  • アーキテクチャ: MVVM (Input/Output パターン)
  • 非同期処理: RxSwift, RxCocoa
  • ネットワーク: Alamofire
  • データベース: Realm
  • UIレイアウト/画像処理: SnapKit, Kingfisher

🔎 工夫した点

1. 実時間データ更新の制御

  • 取引所画面は5秒ごと、コイン情報画面は10分ごとに更新
  • ネットワーク接続状態を反映した 条件付きポーリング を実装
  • ネットワーク呼び出しは RxSwift の Single でラップし、成功/失敗を明確化
  • 失敗時は空データを返却し、ストリームが途切れないように設計

2. メモリ管理とUI更新の安定化

  • RxSwift 購読で弱参照+DisposeBagを活用し、循環参照/メモリリークを防止
  • セルごとに DisposeBag を持たせ、再利用時に購読が自動的に解放されるように構成
  • distinctUntilChanged を適用し、意味のある値変化時のみ UI 更新(不要な再描画を抑制
  • ネットワーク応答はバックグラウンドスレッドで加工後安定した更新を保証するため UIは MainSchedulerで反映

3. お気に入り機能の永続化設計

  • Realm でお気に入り状態を保存し、再起動/オフラインでも維持
  • Repository パターンでデータ層を抽象化し、ViewModel との結合度を低減

📷 画面

取引所 コイン情報 検索 詳細
거래소 인기 탭 검색 상세

About

[UIKit] コインのレートとトレンドを確認・保存できるアプリ

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages