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
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.