Skip to content

GitHubClient is an Android application developed to allow users to browse and explore GitHub user profiles and public repositories. The application focuses on providing a seamless and informative user experience by demonstrating the integration of various GitHub APIs within a clean and efficient Android application architecture.

Notifications You must be signed in to change notification settings

Farhandroid/GithubClient

Repository files navigation

GitHubClient

説明

GitHubClientは、ユーザーがGitHubのユーザープロファイルや公開リポジトリを閲覧・探索できるように開発されたAndroidアプリケーションです。このアプリケーションは、クリーンで効率的なAndroidアプリケーションアーキテクチャ内で様々なGitHub APIの統合を示すことにより、シームレスで情報豊富なユーザーエクスペリエンスを提供することを重視しています。

機能

  • ユーザーリストビュー: GitHubユーザーのスクロール可能なリストを動的に表示します。各リストアイテムには、ユーザーのアバターとユーザー名が表示されます。
  • 詳細ユーザープロファイル: ユーザーを選択すると、詳細なプロファイルページが表示されます。このページには、ユーザーのアバター、フルネーム、フォロワー数、フォロー数、および公開されている非フォークリポジトリの詳細なリストが含まれています。
  • リポジトリの詳細: ユーザープロファイルの下にリストされているリポジトリのいずれかをクリックすると、WebViewを通じてリポジトリのより詳細な情報を表示でき、GitHubとの直接的な対話が可能になります。



以下から最新のGitHubClientアプリのAPKをダウンロードしてください 👇

GitHubClient



GitHubClient アプリのアーキテクチャとモジュールの依存関係

Screenshot 2024-04-15 at 19 12 19



モジュールごとの単体テスト

Screenshot 2024-04-15 at 19 08 29 Screenshot 2024-04-15 at 19 08 16



モジュールの簡単な説明

  • Appモジュール: MainActivityを含み、アプリの起点として機能します。ユーザーがアプリケーションとどのように対話し、ナビゲートするかを管理します。
  • Data: API(ネットワーク通信)およびリポジトリ(データアクセスパターン)のサブモジュールを含み、すべてのデータ処理をカプセル化します。
  • Domain: モデル(データエンティティ)、リポジトリ(データ操作のための抽象化)、およびuseCases(ビジネスロジック操作)を含み、コアを形成します。
  • Feature-User-List: ユーザーリストと詳細機能に特化しており、UI(フラグメント)、ビジネスロジック(viewModel)、および統合を含みます。
  • Common: ResourceState などのユーティリティクラスや共通のUI関連のKotlin拡張機能を含む UiExtension.kt がコードの再利用性と可読性を向上させるために含まれています。

アプリケーションは、ユニットテストによって強調される保守性と信頼性を優先します。



使用技術 🛠



デモ📸

Screen.Recording.2024-04-15.at.19.39.11.mov



このアプリの実行方法

  • このリポジトリをクローンします
  • GitHub からアクセストークンを作成し、gradleファイルのAUTH_KEYを置き換えます
  • アプリケーションをビルドします

About

GitHubClient is an Android application developed to allow users to browse and explore GitHub user profiles and public repositories. The application focuses on providing a seamless and informative user experience by demonstrating the integration of various GitHub APIs within a clean and efficient Android application architecture.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages