Github Explorer is a sleek Android application built with Kotlin that allows users to effortlessly explore Github repositories, dive into their details, and track related issues. Leveraging the power of the Github API, the app delivers a seamless and informative user experience.
- Repository Browsing: Explore a handpicked collection of interesting Github repositories.
- Repository Details: Get comprehensive information for each repository:
- Name, description, owner, stars, forks
- Complete list of open issues
- Issue Exploration: View details for open issues within a repository:
- Title, description, author, creation date, comments
- Offline Caching: Previously viewed repositories and their details are available offline, thanks to Room persistence.
- Smooth UI: Experience a responsive and visually appealing interface with delightful Shimmer loading animations.
- Kotlin: Modern and concise programming language for Android development.
- Kotlin Coroutines: Manage asynchronous operations efficiently.
- Android Jetpack:
- Room: Persist repository data locally for offline access.
- DataStore: Store small amounts of data, like first-time user flags.
- ViewModel: Manage UI-related data and handle user interactions.
- Hilt: Streamlined dependency injection framework for Android.
- Retrofit: Type-safe HTTP client for consuming the Github API.
- Kotlin Compose: Modern and declarative UI toolkit for building beautiful and responsive interfaces.
- Shimmer: Add beautiful loading animations to enhance the user experience.
- SOLID Principles: Adheres to SOLID principles for a robust and maintainable codebase.
- MVVM (Model-View-ViewModel): Clean architecture pattern for separating concerns and improving testability.
The app is designed following the MVVM (Model-View-ViewModel) architectural pattern:
- Model: Data handling logic, including API interactions, data parsing, and database operations.
- View: UI components responsible for displaying data and capturing user input.
- ViewModel: Acts as an intermediary between the Model and View, preparing and managing data for the UI.
- Clone the repository:
git clone https://github.com/darsh-7/Github_Repos_App.git
- Open the project in Android Studio.
- Build and run the app on an emulator or physical device.
This project was created as a learning experience to explore and implement modern Android development practices. Feel free to fork, modify, and experiment with the code!