mhelmi / UnsplashPhotos

Simple app display photos form Unsplash open API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unsplash Photos

Simple app display photos from Unsplash public API "https://picsum.photos/v2/list?page=1&limit=20"

How to run?

This project needs Android Studio 4.0.0 or above with Android Gradle plugin 7.0+

It's recommended to open it using Android Studio Artic Fox or above

Architecture

Clean architecture based on MVVM (Model-View-ViewModel) with Kotlin Coroutines and Flow

The following diagram shows all the layers and how each layer interacts with each other. This architecture uses a layered software architecture. MVVM Clean Architecture

Built With đź› 

  • Kotlin - official programming language for Android development.
  • Coroutines - for asynchronous or non-blocking programming.
  • Flow - a flow is a type that can emit multiple values sequentially, as opposed to suspend functions that return only a single value.
  • Android Architecture Components - Part of Jetpack it's a set of libraries that help you design robust, testable, and maintainable apps.
    • LiveData - an observable data holder class.
    • ViewModel - store and manage UI-related data in a lifecycle conscious way.
    • Room - persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
    • Navigation - Navigation refers to the interactions that allow users to navigate across, into, and back out from the different pieces of content within your app.
  • Hilt - Hilt is a dependency injection library for Android that reduces the boilerplate of doing manual dependency injection (Based on Dagger 2).
  • Retrofit - A type-safe HTTP client for Android.
  • Gson A Java serialization/deserialization library to convert Java Objects into JSON and back.
  • Material Design are interactive building blocks for creating a friendly user interface.
  • Glide An image loading and caching library.
  • Timber A logger API.
  • JUnit A foundation framework for developer-side testing on the JVM.
  • Mockito Mocking framework for unit tests.

About

Simple app display photos form Unsplash open API


Languages

Language:Kotlin 100.0%