Build Modern Android App with REST API and Ktor Server

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

Ratings: 4.34 / 5.00




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!

What You Will 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...

Who Should Attend!

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