An Android app built with Kotlin, consuming StarWars API to display characters of the popular StarWars Movie. It is built with the MVVM pattern and the latest Jetpack components.

Overview

StarWars

StarWars

An Android app built with Kotlin, consuming StarWars API to display characters of the popular StarWars Movie. It is built with the MVVM pattern and the latest Jetpack components.

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
  • Android KTX - Provide concise, idiomatic Kotlin to Jetpack and Android platform APIs.
  • AndroidX - Major improvement to the original Android Support Library, which is no longer maintained.
  • 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.
  • Paging 3 library - The Paging library helps you load and display pages of data from a larger dataset from local storage or over network. This approach allows your app to use both network bandwidth and system resources more efficiently.
  • 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
  • Navigation Components - Helps you implement navigation, from simple button clicks to more complex patterns, such as app bars and the navigation drawer.
  • Logging Interceptor - logs HTTP request and response data.
  • Material Libarary - Modular and customizable Material Design UI components for Android
  • GitHub Actions - GitHub Actions makes it easy to automate all your software workflows, now with world-class CI/CD. Build, test, and deploy your code right from GitHub. Make code reviews, branch management, and issue triaging work the way you want.
  • Glide- An image loading and caching library for Android focused on smooth scrolling.
  • Timber- A logger with a small, extensible API which provides utility on top of Android's normal Log class.
  • SavedStateHandle - Getting results from a destination when navigating from one fragment to another
  • SafeApiCall Making safe API calls

Demo

Setup Requirements

  • Android device or emulator
  • Android Studio

Getting Started

In order to get the app running yourself, you need to:

  1. Clone this project
  2. Import the project into Android Studio
  3. Connect your android device with USB or just start your emulator
  4. After the project has finished setting up it stuffs, click the run button

Support

  • Found this project useful ❤️ ? Support by clicking the ⭐️ button on the upper right of this page. ✌️
  • Notice anything else missing? File an issue
  • Feel free to contribute in any way to the project from typos in docs to code review are all welcome.
You might also like...
 A program written entirely in Kotlin using the principles of Clean Architecture according to the MVVM pattern
A program written entirely in Kotlin using the principles of Clean Architecture according to the MVVM pattern

A program written entirely in Kotlin using the principles of Clean Architecture according to the MVVM pattern. An application that shows a list of ani

Learning Project (Story App) For Applying Android Architecture Components And Clean Architecture Using MVVM With Kotlin

Learning Project (Story App) For Applying Android Architecture Components And Clean Architecture Using MVVM With Kotlin. Implemented by Clean Architecture, Hilt, MVVM, LiveData, Coroutines, Retrofit2, Glide

An application to follow popular movies and tv series and create watch list

MoviesAndTV MoviesAndTV is an application to follow popular movies and tv series and create watch list from your favorite tv series and movies. Also y

An Android application for browsing video games and checking the latest gaming news from around the world.
An Android application for browsing video games and checking the latest gaming news from around the world.

Gamedge An Android application for browsing video games and checking the latest gaming news from around the world. Built entirely using the Jetpack Co

Space x app fetching data from api using apollographql, databinding, navigation components and hilt for DI.
Space x app fetching data from api using apollographql, databinding, navigation components and hilt for DI.

Space-X Space-X is an android application that displays the list of launches from the Space-X API using ApolloGraphql inclusive of their launch site a

Accounting-App - An Android app built with Kotlin, Material, Jetpack Compose, Hilt, Room, Coroutines, Data-Store, MVVM-Clean Architecture and JUnit tests Kotlin microservices with REST, and gRPC using BFF pattern. This repository contains backend services. Everything is dockerized and ready to
Kotlin microservices with REST, and gRPC using BFF pattern. This repository contains backend services. Everything is dockerized and ready to "Go" actually "Kotlin" :-)

Microservices Kotlin gRPC Deployed in EC2, Check it out! This repo contains microservices written in Kotlin with BFF pattern for performing CRUD opera

Use Android Jetpack libraries, Android Architecture Components, ViewModel and LiveData to build this app.

Unscramble App Starter code for Android Basics codelab - Store the data in a ViewModel Unscramble is a single player game app that displays scrambled

📚  Sample Android Components Architecture on a modular word focused on the scalability, testability and maintainability written in Kotlin, following best practices using Jetpack.
📚 Sample Android Components Architecture on a modular word focused on the scalability, testability and maintainability written in Kotlin, following best practices using Jetpack.

Android Components Architecture in a Modular Word Android Components Architecture in a Modular Word is a sample project that presents modern, 2020 app

Owner
Joel Kanyi
Android Developer | Kotlin | Java
Joel Kanyi
A movie & TV show exploration app that implements MVVM design pattern by following the clean architecture principles, using TMDB API.

?? Movie App ?? A movie & TV show exploration app that implements MVVM design pattern by following the clean architecture principles, using TMDB API.

Bora Bor 11 Dec 22, 2022
A fake shopping app built using the MVVM archirecture consuming FAKE STORE API

FakeStore A fake shopping app built using the MVVM archirecture consuming FAKE STORE API N/B This API does not provide an endpoint for registering use

marsden madoka 4 Aug 17, 2022
Movie Android App written in Kotlin, MVVM, Clean Architechture, Modularized, Coroutines, Android Architecture Components and Hilt

Movie Android App written in Kotlin, MVVM, Clean Architechture, Modularized, Coroutines, Android Architecture Components and Hilt.

Klejvi Kapaj 16 Dec 27, 2022
Shreyas Patil 2.2k Jan 4, 2023
FirestoreCleanArchitectureApp is an app built with Kotlin and Firestore that displays data in real-time using the MVVM Architecture Pattern. For the UI it uses Jetpack Compose, Android's modern toolkit for building native UI.

FirestoreCleanArchitectureApp FirestoreCleanArchitectureApp is an app built with Kotlin and Cloud Firestore that displays data in real-time using Andr

Alex 66 Dec 15, 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
A lightweight library for requesting and consuming Activity Results using coroutines.

SuspendActivityResult A lightweight library for requesting and consuming Activity Results using coroutines, it's usage is as simple as: val uri = Acti

Hicham Boushaba 71 Dec 23, 2022
A small application for working with the Github API, made as a practical task. GeekBrains, course of study: Popular libraries: RxJava 2, Dagger 2, Moxie.

GeekBrains_Course_AndroidOnKotlin_HW_My_Movie Домашнее задание к занятию №2-6 Студента GeekBrains Веремеенко Дмитрия Факультет: Android-разработки Кур

Dmitriy 3 Aug 24, 2021
TheMovies 🎬 A demo project for The Movie DB based on Kotlin MVVM architecture and material design & animations.

A simple project for The Movie DB based on Kotlin MVVM clean architecture and material design & animations. How to build on your environment

Jaewoong Eum 420 Nov 29, 2022
This Kotlin Multiplatform library is for accessing the TMDB API to get movie and TV show content. Using for Android, iOS, and JS projects.

Website | Forum | Documentation | TMDb 3 API Get movie and TV show content from TMDb in a fast and simple way. TMDb API This library gives access to T

Moviebase 37 Dec 29, 2022