Android compose application to list github repositories.
If you find my repository helpful, you can buy me a coffee to see more PoC samples 🍻☕️
APK Link (https://drive.google.com/file/d/1W5m6pmpNHGaedO2KpYEQ8LFf8WPw-ZDG/view?usp=sharing)
Wireframe:
In order to run project in your local be aware below points ->
- Developed by Android Studio Hedgehog | 2023.1.1 RC 3 Build #AI-231.9392.1.2311.11047128, built on November 3, 2023
- checkout master branch
- add SERVICE_ENDPOINT_BASE_URL=https://api.github.com to your local.properties file.
Validation Error No Data Service Error Remember Favorite Normal Run
- Kotlin
- Kotlin Coroutines
- Kotlin DSL
- Patterns
- MVVM
- Clean Architecture
- Repository
- JetPack Compose
- Edge to Edge UI design
- Shimmer Loading
- Native Splash Screen
- Dark/Light UI Mode
- Compose Destinations / Documentation
- Room Database
- Suspend response handling
- Reactive Flow response handling
- Ktor Client
- Lottie Animations
- Coil
- Asynch image loading
- Gif play support
- Timber Client logging
- Dependency Injection (HILT)
- Turbine
- MockK
- Unit testing
- Instrumentation & Compose UI Testing
- Junit5
1- App starts with custom splash screen then, user is navigated to project list screen
2- In project list screen, user can enter usernames to "Repository Owner" input field and search corresponding user repositories.
3- Repositories are listed after shimmer loading animation
3- If repository liked before, it will be remembered and user can see like icon on project list.
4- Row clicks navigates user to project detail screen to show more details about it.
5- User can like/favorite repositories in project detail screen
Light Mode:
Dark Mode:
The code is licensed as:
Copyright 2021 Attila Akıncı
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.