Pictrr icon indicating copy to clipboard operation
Pictrr copied to clipboard

Another unofficial Unsplash android app implemented using MVVM Architecture, Live Data, Coroutines, View Model, Room, Navigation Components, Material Design Components, View Binding, Paging3, Hilt, Gl...

Picttr

Another Unsplash client, seriously? Well, I built this project to study the use of modern android architecture components with the MVVM architecture and Jetpack Library.

Caution: This project contains large amount of Code Smell. Use it at Your Own Risk.

Screenshot

Built With

  • Foundation - Components for core system capabilities, Kotlin extensions and support for multidex and automated testing.
    • AppCompat - Degrade gracefully on older versions of Android.
    • Android KTX - Write more concise, idiomatic Kotlin code.
  • Architecture - A collection of libraries that help you design robust, testable, and maintainable apps. Start with classes for managing your UI component lifecycle and handling data persistence.
    • Lifecycles - Create a UI that automatically responds to lifecycle events.
    • LiveData - Build data objects that notify views when the underlying database changes.
    • Navigation - Handle everything needed for in-app navigation.
    • ViewModel - Store UI-related data that isn't destroyed on app rotations. Easily schedule asynchronous tasks for optimal execution.
  • Third party and miscellaneous libraries

Unsplash API key

Picttr uses the Unsplash API to load pictures. To use the API, you will need to obtain a free developer API key. See the Unsplash API Documentation for instructions.

Once you have the key, add this line to the gradle.properties file, either in your user home directory (usually ~/.gradle/gradle.properties on Linux and Mac) or in the project's root folder:

unsplash_access_key=<your Unsplash access key>