GitHubClientは、ユーザーがGitHubのユーザープロファイルや公開リポジトリを閲覧・探索できるように開発されたAndroidアプリケーションです。このアプリケーションは、クリーンで効率的なAndroidアプリケーションアーキテクチャ内で様々なGitHub APIの統合を示すことにより、シームレスで情報豊富なユーザーエクスペリエンスを提供することを重視しています。
- ユーザーリストビュー: GitHubユーザーのスクロール可能なリストを動的に表示します。各リストアイテムには、ユーザーのアバターとユーザー名が表示されます。
- 詳細ユーザープロファイル: ユーザーを選択すると、詳細なプロファイルページが表示されます。このページには、ユーザーのアバター、フルネーム、フォロワー数、フォロー数、および公開されている非フォークリポジトリの詳細なリストが含まれています。
- リポジトリの詳細: ユーザープロファイルの下にリストされているリポジトリのいずれかをクリックすると、WebViewを通じてリポジトリのより詳細な情報を表示でき、GitHubとの直接的な対話が可能になります。
- Appモジュール:
MainActivity
を含み、アプリの起点として機能します。ユーザーがアプリケーションとどのように対話し、ナビゲートするかを管理します。 - Data: API(ネットワーク通信)およびリポジトリ(データアクセスパターン)のサブモジュールを含み、すべてのデータ処理をカプセル化します。
- Domain: モデル(データエンティティ)、リポジトリ(データ操作のための抽象化)、およびuseCases(ビジネスロジック操作)を含み、コアを形成します。
- Feature-User-List: ユーザーリストと詳細機能に特化しており、UI(フラグメント)、ビジネスロジック(viewModel)、および統合を含みます。
- Common:
ResourceState
などのユーティリティクラスや共通のUI関連のKotlin拡張機能を含むUiExtension.kt
がコードの再利用性と可読性を向上させるために含まれています。
アプリケーションは、ユニットテストによって強調される保守性と信頼性を優先します。
- Kotlin
- コルーチン
- Android Navigation Component
- Android アーキテクチャコンポーネント
- Dagger-Hilt
- Retrofit
- Coil
- Android Material Components
- OkHttp
- Kotlinx Serialization
- MockK
- KSP (Kotlin Symbol Processing)
Screen.Recording.2024-04-15.at.19.39.11.mov
- このリポジトリをクローンします
- GitHub からアクセストークンを作成し、gradleファイルのAUTH_KEYを置き換えます
- アプリケーションをビルドします