GitExplorer is a modern Android application designed to explore GitHub repositories. It provides a seamless search experience and detailed insights into repositories, leveraging the power of GitHub's GraphQL API.
The app allows users to search for any public GitHub repository and view essential details such as its description, owner, and more. Built with a focus on clean architecture and modern Android development practices, GitExplorer offers a responsive and intuitive user interface.
- Language: Kotlin
- UI Framework: Jetpack Compose with Material 3 for a modern, adaptive design.
- Data Source: Apollo GraphQL for type-safe and efficient communication with the GitHub GraphQL API.
- Architecture: MVVM (Model-View-ViewModel) for a clear separation of concerns and maintainable code.
- Image Loading: Coil for fast and lightweight image loading.
- Functional Programming: Arrow for robust error handling and functional patterns.
- Concurrency: Kotlin Coroutines for asynchronous programming.
- Dependency Management: Gradle Version Catalog for centralized and consistent dependency versions.
- Extras:
- SplashScreen API for a polished app startup experience.
- Kotlinx Immutable Collections for safer state management.
- Android Studio Ladybug or newer.
- A GitHub Personal Access Token (classic) with
public_reposcope.
To run the project, you need to provide your GitHub API key.
- Create a
local.propertiesfile in the root directory (if it doesn't exist). - Add your GitHub API key:
GITHUB_API_KEY=your_github_personal_access_token_here
- Clone the repository.
- Open the project in Android Studio.
- Sync the project with Gradle files.
- Run the
appmodule on an emulator or a physical device.
The project includes unit tests to ensure the reliability of the business logic and ViewModel states.
- Unit Tests: Run via
./gradlew test - Instrumentation Tests: Run via
./gradlew connectedAndroidTest
Developed with ❤️ by Leo Deleon


