Mobile App that shows Random Products in a Nested Recyclerview for Android [Kotlin] Developer Role at Edvora

Overview

EdvoraAndroidTest

An simple Android App for Edvora Android Assessment. It consumes the edvora assessment api to display random Products which needs to be grouped and be displayed in a Nested Recyclerview. The app is built with the MVVM architecture and some Jetpack Libraries

Instructions:

API: GET: URL = https://assessment-edvora.herokuapp.com

The api data will be random. A single list will contain all the products.

You will be provided with a list of products. Name of the Product will be the Name of the Company it belongs to.

The products must be categorized in the list format as depicted in the UI.

Example,

If a product name is Shoes, it will be categorized under the list of Shoes.

The product list is horizontal scrollable list.

Dropdown functionalities

  • Products - dropdown should be the list of product names. The content of dropdown will be all the product names received in list of products in api call.
  • State - dropdown needs to be the list of State Names extracted from the list of products.
  • City - dropdown needs to be the list of City Names extracted from the list of products. The dropdown should only show list of cities of the selected state only.

Download the apk here

Screenshots

These are the app's screenshots:

Demo

demo_video.mp4

Project characteristics

This project brings to table set of best practices, tools, and solutions:

  • 100% Kotlin
  • Model-View-View Model Architecture
  • Android Jetpack
  • Dependency Injection
  • Material design

Tech Stack.

  • Kotlin - Kotlin is a programming language that can run on JVM. Google has announced Kotlin as one of its officially supported programming languages in Android Studio; and the Android community is migrating at a pace from Java to Kotlin
  • Lifecycle - Perform actions in response to a change in the lifecycle status of another component, such as activities and fragments.
  • Viewmodel -The ViewModel class is designed to store and manage UI-related data in a lifecycle conscious way
  • LiveData - A lifecycle-aware data holder with the observer pattern
  • Kotlin Coroutines - A concurrency design pattern that you can use on Android to simplify code that executes asynchronously.
  • View Binding - Allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
  • Retrofit - Retrofit is a REST Client for Java and Android by Square inc under Apache 2.0 license. Its a simple network library that used for network transactions. By using this library we can seamlessly capture JSON response from web service/web API.
  • GSON - JSON Parser,used to parse requests on the data layer for Entities and understands Kotlin non-nullable and default parameters.
  • Flow - In coroutines, a flow is a type that can emit multiple values sequentially, as opposed to suspend functions that return only a single value.
  • Hilt - A dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project
  • Logging Interceptor - logs HTTP request and response data.
  • Material Libarary - Modular and customizable Material Design UI components for Android
  • Glide- An image loading and caching library for Android focused on smooth scrolling.
You might also like...
A reliable android app that shows upcoming fixtures, updated league tables, and top goal scorers in a league
A reliable android app that shows upcoming fixtures, updated league tables, and top goal scorers in a league

SwiftScore A football stats and livescore app built with Kotlin,MVVM architecture,Retrofit, Coroutines and Navigation Components Demo Screenshots API

>On this day< is a JetBrains Space app which shows Wikipedia-based information about what happened on that or given day
On this day is a JetBrains Space app which shows Wikipedia-based information about what happened on that or given day

kotlin-spaces-app-onthisday On this day is a JetBrains Space app which shows Wikipedia-based information about what happened on that or given day Stat

This repository shows how to declare Hibernate entities using Kotlin
This repository shows how to declare Hibernate entities using Kotlin

JPA Entities in Kotlin This repository was originally used in the "Getting the Most from JPA with Kotlin" webinar. To follow the webinar flow step by

A webapp which generates a simple Discord profile banner image in real-time which shows user's status and activity.

DiscordProfileBanner This tool generates a Discord profile banner image in realtime. I wrote it for use in my AniList profile. An example in action: H

sample project that shows you how you can use Ktor to creat a server for real Project.

Ktor-Sample This is a sample project that shows you how you can use Ktor to creat a server for real Project. What is done Save data to database (Get a

DogglersApp - Criação de um App para estudo de RecyclerView no Android Studio. Parte do curso Android Basics in Kotlin

Dogglers - Starter Code Starter code for the second independent project for Android Basics in Kotlin. Introduction This is the starter code for the Do

Mobile client for official Nextcloud News App written as Kotlin Multiplatform Project
Mobile client for official Nextcloud News App written as Kotlin Multiplatform Project

Newsout Android and iOS mobile client for Nextcloud news App. The Android client is already available to download in the Play Store. F-Droid and Apple

Enemigos5 - Recyclerview-ViewModel-LiveData on Android with Kotlin

Enemigos5 Recyclerview-VievModel-LiveData on Android with Kotlin. Es muy simple:

Framework for Mobile test automation (Native app and Browser) on Android and IOS devices
Framework for Mobile test automation (Native app and Browser) on Android and IOS devices

Appium Mobile Automation Framework Framework for Mobile test automation (Native app and Browser) on Android and IOS devices 📱 🚀 Quick Start - Appium

Owner
Joel Kanyi
Android Developer | Kotlin | Java
Joel Kanyi
Search image app [Adanian Labs Interview], Android developer role

Pixar This is App shows you Images from the Pixabay API Table of Contents Functionalities Approach Screenshots How To Setup Libraries Used Author Info

Abdulfatah Mohamed 2 Dec 20, 2022
A very simple Android app which shows you random memes with the help of meme-api which you can share with your friends!

Meme Share A very simple Android app which shows you random memes with the help of meme-api which you can share with your friends! Tech stack 100% wri

Stɑrry Shivɑm 8 Aug 10, 2022
This is a practice app. An app that you can find random recipes and choose the ones you like.

A food suggestion app like Tinder This is a practice app. In this app, you can find random recipes and choose the ones you like. This is main menu. Yo

Yunus Emre OCAK 4 May 25, 2022
A backend service that generates a random 32-chars length message and its sha256 hashcode and put them to DB

This is an Android application in which a user can ask the server to generate a random message and its sha256, and ask to obtain this info from the server.

Iskander 1 Nov 20, 2022
The complete Android Kotlin Developer course

The complete Android Kotlin Developer course In this course you will learn how to make 17 online games, and apps for Android, using Kotlin. check the

null 0 Jan 16, 2022
Jugando con un Parking realizado como prueba de examen en JetBrains Academy, curso Kotlin Developer

Kotlin Parking Lot Proyecto de evaluación para el título de Kotlin Developer en Jetbrains Academy. Consiste en realizar un parking con las especificac

José Luis González Sánchez 1 Jan 10, 2022
Inter Android Developer na Digital Innovation one

Desafios do Bootcamp Inter Android Developer Desafios Matemáticos em Kotlin Desafio Desafio Solução 1 Análise de Números Código 2 Consumo Médio do Aut

Luiz Correa 7 Nov 29, 2022
Web Container: A simple web container library for Android to help fellow developer to open WebView easily

WebContainer Description Web Container is a simple web container library for And

Achmad Ichsan Thaib 8 Nov 22, 2022
Kotlin app that shows a list of characters using the api SWAPI

StarWarsCharacters Kotlin app that shows a list of characters using the api SWAPI (https://swapi.dev) This is a clean architecture app example built w

Lorenzo 3 Jun 2, 2021
Android app that shows what happened today in the history.

Today History Android app Master: Develop: Code Coverage: App that shows what happened today in history. Details Written in Kotlin. Android Studio 2.1

MakinGIANTS 29 Oct 3, 2022