FlickrApp is an Android application that allows users to search and view photos from Flickr. The app is built using Kotlin and leverages various libraries and tools such as Retrofit, OkHttp, and Jetpack Compose.
- Search photos by user ID
- Search photos by tags
- Display photo details including icon server, owner name, description, and date taken
- Android Studio
- Kotlin 1.5+
- Gradle 8.7+
- Internet connection
- Clone the repository:
git clone https://github.com/DemisChan/FlickrApp.git
- Open the project in Android Studio.
- Sync the project with Gradle files.
- Connect your Android device or start an emulator.
- Click on the "Run" button in Android Studio or use the following command:
./gradlew assembleDebug
- MainActivity.kt: The main entry point of the application.
- FlickrRepo.kt: Repository class that handles network requests to the Flickr API.
- NetworkService.kt: Interface defining the API endpoints.
- ScreenContainer.kt: Composable function that contains the main screen layout.
- FlickrViewModel.kt: ViewModel that manages the UI-related data.
- Retrofit: A type-safe HTTP client for Android and Java.
- OkHttp: An HTTP client for Android and Java applications.
- Gson: A Java library that can be used to convert Java Objects into their JSON representation.
- Jetpack Compose: Android’s modern toolkit for building native UI.
The Flickr API key is hardcoded in the repository for demonstration purposes. For production use, consider storing API keys securely.
- Fork the repository.
- Create your feature branch:
git checkout -b feature/YourFeature
- Commit your changes:
git commit -m 'Add some feature' - Push to the branch:
git push origin feature/YourFeature
- Open a pull request.
| Initial Screen | User Photos Screen | Photo Details Screen |
|---|---|---|
![]() |
![]() |
![]() |


