Coder Social home page Coder Social logo

kotlinarchitecture's Introduction

FreshWorkStudio

Application is developed with two search implementation which can be tested using below build flavours

  • [Build Flavours]
    • [singleSearch] - This build flavour will load search feature within single launched activity with open close search animation.
    • [activitySearch]- This build flavour will load search feature in new activity with animation

Developer Note - Run code in Android Studio Arctic Fox with Java-11 support inorder to compile code correctly and download required dependencies

Known issue - If java-8 is default java_home in your machine, you will see below error while building the APK file in android studio.

An exception occurred applying plugin request [id: 'com.android.application']

Failed to apply plugin 'com.android.internal.application'. Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. You can try some of the following options:

  • changing the IDE settings.
  • changing the JAVA_HOME environment variable.
  • changing org.gradle.java.home in gradle.properties.

Steps Go to Preferences(Android studio Left top)-->Build,Execution,Deployment-->Build Tools-->Gradle-->Gradle JDK (update to JDK 11)-->APPLY-->OK

Library and tech stack

  • Minimum SDK level 23
  • Kotlin based
  • JetPack
    • Lifecycle - dispose observing data when lifecycle state changes.
    • ViewModel - UI related data holder, lifecycle aware.
    • LiveData - observable data holder class, lifecycle aware.
    • Room - Store data offline
  • Architecture
    • MVVM Architecture (View - DataBinding - ViewModel - Model)
    • Repository pattern
    • Hilt - dependency injection
    • DataBinding - Android DataBinding kit for notifying data changes to UI layers.
    • Coroutines and flow
  • DataBinding(Third Party Library)
    • Base Recycler Viewadapter - Used to bind view in adapter
    • Whatif - Plugin gives direct access to scope function without using if conditions
    • Bindables - Observable data binding library
  • Unit test case
    • robolectric - Used to test android specific test case without using android device
    • mockwebserver - Help to mock http request
    • Mockito - Used for mocking dummy class or data(interface)
  • Material Design & Animations
  • Glide - loading images
  • Shared element transition - for activity launch animation

kotlinarchitecture's People

Contributors

kthumar avatar

Watchers

keyur thumar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.