This app is a comprehensive guide to dog breeds that features a list of dogs with their photos, names, and unique characteristics. This app can be used by dog owners, breeders, and pet enthusiasts to learn more about different dog breeds. It works offline so you can explore dog breeds while on the go. It also includes a search feature, which allows you to easily find specific dog breeds that you're interested in.
Click here to try out our sample app without downloading or installing anything.
Programming Language: Kotlin
UI: Jetpack Compose
Development Tools: Android Studio IDE
Libraries and Frameworks:
-
Android Jetpack Components: ViewModel, Room, Navigation
-
Retrofit and OkHttp for network requests and API communication
-
Coil for image loading and caching
-
Gson for JSON serialization and deserialization
-
Kotlin Coroutines for managing background tasks
-
SharedPreferences to store and retrieve cache temporary data
-
Push notification with channel
-
Material Design guidelines and standards for UI design
-
Gradle for building and dependency management
Architecture: Model-View-ViewModel (MVVM) architecture
Database: Room DB
Version Control: Git
Testing:
- JUnit and Mockito for unit testing
- Espresso for UI testing
- Data persistence
- UI revamping and personalisation
- Add more integrations
I would like to acknowledge the ThatAPICompany's The Dog API for providing the data used in this project. Their hard work and dedication to creating high-quality APIs have made this project possible. The documentation can be found here.
To build the app from this repository, follow these steps:
-
Clone the repository to your local machine using HTTP: git clone https://github.com/lssarao/jetpack-compose-doggy.git
-
Open Android Studio on your local machine and click on open an existing Android Studio project.
-
Browse to the directory where you cloned the repository and import it.
-
Once the project is imported, you can build this app by clicking the run button in Android Studio.
-
Select your device or an emulator from the available options and and install the app.
If you encounter any issues or errors during the setup or building process, feel free to raise an issue on the repository.
I will be more than happy to receive your PR, I am open to suggestions or modifications.
If you have any feedback, please reach out to us at [email protected]
This project is licensed under the MIT License - see the LICENSE file for details.