Skip to content

An Android application that allows users to search for GitHub users, view their details, repositories, starred repositories, and organizations.

Notifications You must be signed in to change notification settings

forceporquillo/github-profile-android

Repository files navigation

GitHub Profile

Unofficial/Parody App

:octocat: GitProfile is an Android application that allows users to search for GitHub users, view their details, repositories, starred repositories, and organizations. The app uses modern Android development practices and libraries to provide a smooth and efficient user experience.

Features

  • 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.

Previews

Light Mode ☀️

Screenshot 2 Screenshot 2 Screenshot 2 Screenshot 2 Screenshot 2

XML Layout

Compose Screen

User Details

Search User

Starred Repositories

Dark Mode 🌑

Screenshot 2 Screenshot 2 Screenshot 2 Screenshot 2 Screenshot 2

XML Layout

Compose Screen

User Details

Search User

User Repositories

Technologies and Frameworks

  • 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.

GitHub API

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.

Setup Instructions

  1. Clone the repository:

    git clone https://github.com/forceporquillo/github-profile-android.git
    cd github-profile-android
  2. Open the project in Android Studio:

    • Open Android Studio.
    • Select File > Open and navigate to the cloned repository.
  3. Sync the project with Gradle files:

    • Click on Sync Project with Gradle Files in the toolbar.
  4. 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

Running the Project

  1. Build and run the project:
    • Select a device or emulator.
    • Click on the Run button in the toolbar.

Contributing

Contributions are welcome! Please follow these steps:

  1. Clone the repository: git clone https://github.com/forceporquillo/github-profile-android.git
  2. Create a new branch (git checkout -b feature/your-feature-name).
  3. Make your changes.
  4. Commit your changes (git commit -m 'Add some feature').
  5. Push to the branch (git push origin feature/your-feature-name).
  6. Open a pull request to dev branch.

License

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.```

About

An Android application that allows users to search for GitHub users, view their details, repositories, starred repositories, and organizations.

Resources

Stars

Watchers

Forks

Languages