Tags
Language
Tags
December 2024
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4

Build Modern Android App With Rest Api And Ktor Server

Posted By: ELK1nG
Build Modern Android App With Rest Api And Ktor Server

Build Modern Android App With Rest Api And Ktor Server
Last updated 1/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 7.91 GB | Duration: 16h 10m

Develop an Android App with Kotlin. Fetch Data from REST API deployed on your Backend Server developed with Ktor.

What you'll learn

Develop an Android Application

Develop a Backend Server with Ktor

Create your own REST API

Design App UI using Jetpack Compose UI toolkit

Clean Architecture + Use Cases

Create and Configure a Backend Server

Learn about Server Engines

Learn about Server Modules

Learn about Server Plugins

Handle Server Requests and Responses

Display Static Content on the Server

Templating

Auto-Reload Server feature

How to use Postman

Generate Ktor Project

Create and Handle Server Endpoints

Implement Serialization

Custom Headers

Static Pages

Testing Server Endpoints

Paging 3 Library with Jetpack Compose

Offline Caching with Remote Mediator

Work with multiple Paging Sources in Android Studio

ROOM as a Local Database

Dependency Injection on both Server and Android project

Dependency Injection with Koin

Dependency Injection with Dagger-Hilt

Implement On Boarding Screens

Implement Compose Navigation

Implement Swipe to Refresh

Search Widget - Custom UI Component with Jetpack Compose

Rating Widget - Custom UI Component with Jetpack Compose

Ordered List - Custom UI Component with Jetpack Compose

Info Box - Custom UI Component with Jetpack Compose

Testing Custom UI Components

Testing Android Application (Partially)

Shimmer Effect

Beautiful App Design

Animated Splash Screen

Palette API

Dynamic Layout Colors

Extract Colors from an Image and Apply them into the Layout

MVVM

Retrofit

Send HTTP Requests

KotlinX Serialization

Coil Image Loading Library

Horizontal Pager

Pager Indicators

System UI Controller

Both Light and Dark Theme Design

Server Deployment on Heroku

AND MORE…

Requirements

You should be already familiar with a Jetpack Compose (Watch my To-Do course with Jetpack Compose first)

You should be already familiar with a Kotlin programming language

You should be already familiar with basic Android Architecture Components

Description

Hello there and welcome to my course!This course will be special. Why? Well because I'm going to teach you how to build not just another android application, but also a backend server, your own REST API!The main purpose of that server will be to provide the data to our Android Application. You will learn how to successfully establish a quality communication between client, or in this case our Android App, and a backend server.For the backend we will use ktor framework which is built primarily on Kotlin  and Coroutines! You will learn everything about that framework, how to create your own endpoints, how to work with client requests, receive query parameters, process that same request on your backend, and finally send a fully prepared response to your clients, or in this case an Android App which we are going to develop as well.Now, our Android Application will use the newest API's and libraries. For designing our Application layout we will use a modern UI toolkit called jetpack compose. For communicating with our backend we will use a retrofit, and paging 3 library along with remote mediator, so we can automatically store and cache that data from the server into our Local ROOM database. That way we will be able to load the data into our Application, even if we don't have an internet connection.And that's not all, I will also teach you how to test your Backend Server as well as  your Android App. We are going to test all our server endpoints, the most important parts of our Android application and few custom UI components which we are going to build using Jetpack Compose! I'm going to teach you how to create a custom UI component called Rating Widget, using Jetpack Compose, it will look amazing!Next you will learn how to implement a swipe to refresh functionality in your app, how to implement a palette API so you can display dynamic colors into your layout depending on the image we load into our Screen. And many other different things Bottom Line, there is a lot of work to do, so get ready, because this will be quite of a journey!So what are you waiting for developers. Let's get started!

Overview

Section 1: Introduction

Lecture 1 Introduction

Lecture 2 Project Repositories and Resources

Section 2: Introducing with Ktor Framework

Lecture 3 Introducing with the Ktor Framework

Lecture 4 Download & Install IntelliJ IDEA

Lecture 5 Create Ktor Project Manually

Lecture 6 Ktor Project Generator

Lecture 7 Servers & Configurations

Lecture 8 Modules

Lecture 9 Plugins

Lecture 10 Introducing with Postman

Lecture 11 Requests/Responses

Lecture 12 Static Contente

Lecture 13 Templating

Lecture 14 Auto-Reload

Section 3: Let's Build our Backend Server

Lecture 15 Setup the Project - Server

Lecture 16 Install Plugins

Lecture 17 Create Model Classes

Lecture 18 Create HeroRepository

Lecture 19 Create Root Endpoint

Lecture 20 Create AllHeroes Endpoint - Part 1

Lecture 21 Create AllHeroes Endpoint - Part 2

Lecture 22 Create SearchHeroes Endpoint

Lecture 23 Status Pages

Section 4: Let's Test our Backend Server

Lecture 24 Testing ROOT Endpoint

Lecture 25 Testing All Heroes Endpoint - Part 1

Lecture 26 Testing All Heroes Endpoint - Part 2

Lecture 27 Testing Search Heroes Endpoint

Section 5: Let's Build our App!

Lecture 28 Setup the Project - App

Lecture 29 Setup Navigation

Lecture 30 Create Hero Entity

Lecture 31 Create HeroDao & BorutoDatabase

Lecture 32 Create HeroRemoteKey Entity & Dao

Lecture 33 Create DatabaseConverter class

Lecture 34 Setup Dagger-Hilt

Lecture 35 Design Splash Screen

Lecture 36 Animate Splash Screen & Apply StatusBar Color

Lecture 37 Design Welcome Screen - Part 1

Lecture 38 Design Welcome Screen - Part 2

Lecture 39 Design Welcome Screen - Part 3

Lecture 40 Setup DataStore Preferences

Lecture 41 Create Repository & First Use Cases

Lecture 42 Handle On Boarding Pages & Navigation

Lecture 43 Home Screen - Design Top Bar

Lecture 44 Create ApiResponse & BorutoApi

Lecture 45 Create NetworkModule object

Lecture 46 Introducing with Paging 3

Lecture 47 About Remote Mediator

Lecture 48 Implement RemoteMediator and load() function - Part 1

Lecture 49 Implement RemoteMediator and load() function - Part 2

Lecture 50 Create RemoteDataSource & Implementation

Lecture 51 Create GetAllHeroes Use Case

Lecture 52 Design RatingWidget - Filled Star

Lecture 53 Design RatingWidget - Half Filled Star

Lecture 54 Design RatingWidget - Empty Star

Lecture 55 Design RatingWidget - Calculation

Lecture 56 Design HeroItem

Lecture 57 Load and Display Data from the Server

Lecture 58 Create Animated Shimmer Effect

Lecture 59 Display Shimmer Effect

Lecture 60 Implement initialize() function - RemoteMediator

Lecture 61 Modify Server Test Function

Lecture 62 Caching Header Explained

Lecture 63 Handle Paging Error

Lecture 64 Search Screen - SearchWidget

Lecture 65 Search Screen - SearchViewModel

Lecture 66 Search Screen - Implement SearchHeroesSource

Lecture 67 Search Screen - Implement SearchHeroesUseCase

Lecture 68 Search Screen - Display Searched Heroes

Lecture 69 Implement Swipe to Refresh

Lecture 70 Details Screen - Info Box

Lecture 71 Details Screen - Ordered List

Lecture 72 Details Screen - LocalDataSource & GetSelectedHeroUseCase

Lecture 73 Details Screen - DetailsViewModel

Lecture 74 Details Screen - Design BottomSheetContent

Lecture 75 Details Screen - Design BackgroundContent

Lecture 76 Details Screen - Animate BackgroundContent Image

Lecture 77 Details Screen - Animate Sheet Radius

Lecture 78 About Palette API

Lecture 79 Create PaletteGenerator Object

Lecture 80 Implement Palette Colors in Details Screen

Section 6: Let's Test our App

Lecture 81 Let's start Testing!

Lecture 82 Create FakeBorutoApi

Lecture 83 Testing SearchHeroSource

Lecture 84 Create FakeBorutoApi2

Lecture 85 Testing HeroRemoteMediator

Lecture 86 About UI Testing

Lecture 87 Testing Search Widget

Lecture 88 Testing Rating Widget

Section 7: Backend - Alternative Approach

Lecture 89 Alternative Approach Showcase

Section 8: Server Deployment & Heroku

Lecture 90 About Heroku

Lecture 91 Deploy Server on Heroku

Section 9: Final Word

Lecture 92 Final Word

Section 10: Course Updates

Lecture 93 Update #1 - Code Cleanup

Lecture 94 Update #2 - Dependency Update, Code Cleanup

Lecture 95 Update #3 - Migration to Ktor 2.+

Lecture 96 Update #4 - Migrate to New Splash API

Android Developers,Android Designers,Mobile Developers,Anyone who wants to learn how to develop Android App using the Newest and Modern technologies and API's,Anyone who wants to learn how to develop Develop Android Apps with Kotlin programming language,Anyone who wants to learn how to develop an Android App using the modern UI Toolkit called Jetpack Compose,Anyone who wants to learn how to develop an App using a clean architecture.