Flickr Photo Search is an Android project using Flickr API based on MVVM architecture. You can search photos based on keywords and view some details about the selected photo.
- 100% Kotlin
- MVVM architecture
- Reactive pattern
- Android Jetpack
- Kotlin Coroutines + Flow
- Single activity app with fragments
- Dependency injection
- CI/CD support
- Android Jetpack - A collections of libraries to help developers follow best practices, reduce boilerplate code, and write code that works consistently across Android versions and devices.
- Hilt - Extend the functionality of Dagger Hilt to enable dependency injection of certain classes from the androidx libraries.
- Lifecycle - Lifecycle-aware components that can adjust behavior based on the current lifecycle state of an activity or fragment.
- Navigation - Build and structure your in-app UI, handle deep links, and navigate between screens.
- Paging - Load data in pages, and present it in a RecyclerView.
- Room - Create, store, and manage persistent data backed by a SQLite database.
- Retrofit - A type-safe HTTP client for Android and Java
- Moshi - A modern JSON library for Kotlin and Java.
- Coil - Image loading for Android backed by Kotlin Coroutines.
- Logcat - Tiny Kotlin API for cheap logging on top of Android's normal Log class.
- PhotoView - Implementation of ImageView for Android that supports zooming, by various touch gestures.
- Bitrise - Mobile-first CI/CD in the cloud, for any platform.
You need Android Studio Arctic Fox (or newer) to be able to build the app.
This project uses ktlint. Use the ktlint
and ktlint-format
Gradle tasks
to check and format according to proper Kotlin lint rules.
You will need to provide an API key to use the app. You can find information about how to gain access in the following link.
Add the key to the gradle.properties
file:
# Flickr API key
FLICKR_API_KEY=key