- Search for GitHub users by name.
- View detailed information about users.
- Browse user repositories.
- View starred repositories of users.
- Check organizations that users belong to.
- Pagination support for loading more data.
- Offline caching of user data.
- Dark mode support.
- View user repository details.
- SearchBar in Compose tab.
- Swipe to refresh in Compose tab.
XML Layout |
Compose Screen |
User Details |
Search User |
Starred Repositories |
XML Layout |
Compose Screen |
User Details |
Search User |
User Repositories |
- Dagger Hilt: Dependency injection library for Android.
- Retrofit: Type-safe HTTP client for Android and Java.
- Kotlin: Programming language used for Android development.
- Coroutines: Concurrency design pattern that you can use on Android to simplify code that executes asynchronously.
- Flow: A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
- Android Jetpack: Collection of libraries to help developers follow best practices and write code that works consistently across Android versions and devices.
- Compose: Android’s modern toolkit for building native UI.
- XML: Conventional XML layouts for UI components.
The application utilizes the GitHub API, specifically the REST endpoint for user data.
The GitHub API offers a RESTful interface to access public and private information about authenticated users.
-
Clone the repository:
git clone https://github.com/forceporquillo/github-profile-android.git cd github-profile-android
-
Open the project in Android Studio:
- Open Android Studio.
- Select
File > Open
and navigate to the cloned repository.
-
Sync the project with Gradle files:
- Click on
Sync Project with Gradle Files
in the toolbar.
- Click on
-
Set up GitHub API:
- Obtain a GitHub API token from GitHub Developer Settings.
- Create a
local.properties
file in the root directory of the project and add your GitHub API token:TOKEN=your_github_api_token USERNAME=your_github_username
- Build and run the project:
- Select a device or emulator.
- Click on the
Run
button in the toolbar.
Contributions are welcome! Please follow these steps:
- Clone the repository:
git clone https://github.com/forceporquillo/github-profile-android.git
- Create a new branch (
git checkout -b feature/your-feature-name
). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/your-feature-name
). - Open a pull request to
dev
branch.
Copyright 2022 strongforce1 (Force Porquillo)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.```