Doggo app provides a inspection on dogs according to their breeds and sub-breeds
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/1mupugSa4wd49kUxyL2qm1ZkH9nuTZXAl/view?usp=sharing)
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 Dec 4, 2023
- Checkout master branch
- add SERVICE_ENDPOINT_BASE_URL=https://dog.ceo/ to your local.properties file.
Normal Run OfflineMode 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
- Timber Client logging
- Dependency Injection (HILT)
- Turbine
- MockK
- Unit testing
- Instrumentation & Compose UI testing
- Junit5
1- App starts with custom splash screen that plays doggo animation with the help of lottie compose library. After animation end, user navigated to dashboard screen
2- In dashboard screen, user is welcomed by a information and breed/sub breed list. Sub breed list becomes visible when any breed selected.
3- Pressing floating action navigates user to Detail Screen.
4- Detail screen loads images of doggos which is selected(breed/subBreed) on Dashboard screen
5- App need to be connected to network so if network is un available, user informs with a dialog
6- During offline mode app uses previously fetched data until restore network connection again.
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.