🏞 Wallpaper app made with Jetpack Compose

Overview

WallUp β›°

Wallpaper finder and downloader app Demonstrate the Jetpack Compose UI using Unsplash API Made with ❀️ by Enes

UI Design 🎨

Thanks to Rian Hamidjoyo for Wallpaper App UI Design

Screens πŸ–Ό

Home Screen Detail Screen
Bookmark Screen Collection Screen

Prerequisites

  • API Key

To run the application, an API key from Unsplash should be supplied.

inside local.properties file add this line and Rebuild project. apiKey="Your API Key Here"

How to store API key? - Stackoverflow

Architecture 🧰

  • Single Activity No Fragment
  • MVVM Pattern

View: Renders UI and delegates user actions to ViewModel

ViewModel: Can have simple UI logic but most of the time just gets the data from UseCase.

UseCase: Contains all business rules and they written in the manner of single responsibility principle.

Repository: Single source of data. Responsible to get data from one or more data sources.

For more information you can check Guide to app architecture

Libraries πŸ› 

  • Kotlin - First class and official programming language for Android development.
  • Ktor Client - Ktor includes a multiplatform asynchronous HTTP client, which allows you to make requests and handle responses, extend its functionality with plugins (formerly known as features), such as authentication, JSON serialization, and so on. In this topic, we'll take an overview of the client - from setting it up to making requests and installing plugins.
  • Jetpack Compose - Jetpack Compose is Android’s modern toolkit for building native UI.
  • Coroutines - For asynchronous and more..
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • Flows - Data objects that notify views when the underlying database changes.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • Room - Database Library
  • Compose Destinations - A KSP library that processes annotations and generates code that uses Official Jetpack Compose Navigation under the hood. It hides from you the non-type-safe and boilerplate code you would otherwise have to write.
  • Material Components for Android
    • Modular and customizable Material Design UI components for Android.
  • Dagger - Hilt - Dependency Injection Framework
  • Coil - Image loader library.

Package Structure πŸ—‚

.
.
.
β”œβ”€β”€ di                    # Hilt Dependency Injection
β”œβ”€β”€ feature_bookmark
β”œβ”€β”€ feature_collection
β”œβ”€β”€ feature_detail
β”œβ”€β”€ feature_home
β”œβ”€β”€ feature_splash
|    β”œβ”€β”€ data             # DTOs and repositories implementation
|    |
|    β”œβ”€β”€ domain           # Models, repositories and use cases
|    | 
|    └── presentation     # UI Components
β”œβ”€β”€ ui                    
|    β”œβ”€β”€ theme            # Compose Theme
|    |               
|    └── animation        # Animation Utils
|
β”œβ”€β”€ utils                 # Useful classes
|
└── WallUpApp.kt          # @HiltAndroidApp

Contribute 🀝

If you want to contribute to this app, you're always welcome!

License πŸ“„

Copyright 2022 Enes-Kayiklik

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
You might also like...
android multi-fab that made with jetpack-compose
android multi-fab that made with jetpack-compose

ComposeMultiFab android multi-fab that made with jetpack-compose Download implementation "io.github.jisungbin:multifab:${version}" Usage @Composable f

Simple implementation of a login made with jetpack compose and verifying its authentication through a REST API using retrofit
Simple implementation of a login made with jetpack compose and verifying its authentication through a REST API using retrofit

Simple Login/Auth + Jetpack Compose + Retrofit Demo πŸ“± Json Object Request πŸ“‘ Re

JetStrap - Ready-Made Jetpack Compose Components

JetStrap Ready-Made Jetpack Compose Components Installation implementation "com.

Faradle - Wordle made in Jetpack Compose
Faradle - Wordle made in Jetpack Compose

Faradle The famous Wordle game created with Jetpack Compose The logic is fully u

🌈 Palette - A color picker library made in Jetpack Compose
🌈 Palette - A color picker library made in Jetpack Compose

🌈 Palette A color picker library made in Jetpack Compose. Including in your project Gradle Add it in your root build.gradle at the end of repositorie

OTPView is a view made in Jetpack compose. It is highly customisable and can be used to show OTP view with different length and shapes.
OTPView is a view made in Jetpack compose. It is highly customisable and can be used to show OTP view with different length and shapes.

OTPView OTPView is a highly costumizable OTP view made in the Jetpack compose UI. Usage: CircleOtpView is a sample composable that calls the OtpView w

This is a sample app(For beginners - App #2) built using Jetpack Compose. It demonstrates the concept of State Hoisting in Jetpack Compose.
This is a sample app(For beginners - App #2) built using Jetpack Compose. It demonstrates the concept of State Hoisting in Jetpack Compose.

JetBMICalculator This is a sample app(For beginners - App #2) built using Jetpack Compose. It demonstrates the concept of State Hoisting in Jetpack Co

Learn Jetpack Compose for Android by Examples. Learn how to use Jetpack Compose for Android App Development. Android’s modern toolkit for building native UI.
Learn Jetpack Compose for Android by Examples. Learn how to use Jetpack Compose for Android App Development. Android’s modern toolkit for building native UI.

Learn Jetpack Compose for Android by Examples. Learn how to use Jetpack Compose for Android App Development. Android’s modern toolkit for building native UI.

An app showing all details for various Lenovo Thinkpad models. Made to try out Jepack Compose for Android.

ThinkRchive An app showing all details for various Lenovo Thinkpad models. Made to try out Jepack Compose for Android. WORK IN PROGRESS GOALS: Use Ret

Owner
Enes KayΔ±klΔ±k
Android developer @yoorbit_app
Enes KayΔ±klΔ±k
New style for app design Online Flora Go Go App UI made in Jetpack Compose. πŸ˜‰ 😎

JetComposeLoginUI New style for app design Online Flora Go Go App UI made in Jetpack Compose. ?? ?? (Navigation Components, Dagger-Hilt, Material Comp

Arvind Meshram 95 Dec 22, 2022
New style for app design E-commerce Shop App UI made in Jetpack Compose.πŸ˜‰πŸ˜Ž

E-commerceShopAppUI-Android New style for app design E-commerce Shop App UI made in Jetpack Compose. ?? ?? (Navigation Components, Dagger-Hilt, Materi

Arvind Meshram 30 Jan 8, 2023
New style for app design and Movies App with Movies API JetMaxMovies made in Jetpack Compose.πŸ˜‰πŸ˜Ž

JetMaxMovie New style for app design and Movies App with Movies API JetMaxMovies made in Jetpack Compose. ?? ?? (Navigation Compose,Dagger-Hilt, Mater

Arvind Meshram 6 Jul 6, 2022
A diary app made by Jetpack Compose

Chinese ?? ComposeDiary A simple diary app build by Jetpack Compose, use navigation library for single activity implementation Tech Stack & Features P

RERERE 4 Jun 7, 2022
Online Furniture Shop App UI made in Jetpack Compose.

JetComposeFurnitureShopUI-Android Online Furniture Shop App UI made in Jetpack Compose with clean architecture... ?? ?? (Navigation Components, Dagger

Arvind Meshram 30 Dec 19, 2022
Android App made by Jetpack Compose Components with Kotlin, MVVM Pattern, Multi Module, Navigation, Hilt, Coroutines, Retrofit and cached data by Room

Android App made by Jetpack Compose Components with Kotlin, MVVM Pattern, Multi Module, Navigation, Hilt, Coroutines, Retrofit and cached data by Room

Yogi Dewansyah 13 Aug 31, 2022
Android App made by Jetpack Compose Components with Kotlin, MVVM Pattern, Multi Module, Navigation, Hilt, Coroutines, Retrofit and cached data by Room

Mobile Banking Android App made by Jetpack Compose Components with Kotlin, MVVM Pattern, Multi Module, Navigation, Hilt, Coroutines, Retrofit and cach

Yogi Dewansyah 13 Aug 31, 2022
Lull is an Android mobile application made with Jetpack Compose, where you can download wallpapers.

Lull Lull is an Android mobile application made with Jetpack Compose, where you can download wallpapers. Table of Contents Features Screenshots Light

Simge Şengün 12 Oct 10, 2022
Resume of Louis CAD, made with Jetpack Compose. Supports the Web, Desktop, and Android.

ResumeComposition What This project is the source code of the resume/CV of Louis CAD. The latest PDF export is available here, it is ready to print. H

Louis CAD 22 Aug 14, 2022
android Sticky-TimeLineView that made with jetpack-compose

ComposeTimeLineView android Sticky-TimeLineView that made with jetpack-compose. Download implementation "io.github.jisungbin:timelineview:${version}"

Ji Sungbin 23 Dec 3, 2022