To-Do App & Clean Architecture -Android Development - Kotlin (Udemy.com)
Develop a Fully Functional To-Do app in Kotlin - ROOM, Navigation Component, LiveData, ViewModel, Data Binding and more.
Created by: Stefan Jovanovic
Last updated July 2022
What you will learn
- Develop ToDo App with Kotlin
- Navigation Component
- Safe args
- Transition Animation
- ROOM Database
- CRUD operations
- Data binding
- Binding adapters
- RecyclerView
- Search database in RecyclerView
- Sort database in RecyclerView
- RecyclerView Animation
- LiveData
- ViewModel
- Repository
- Swipe to delete
- Undo - restore deleted data
- DiffUtil
- Linear, Grid, Staggered Layout in RecyclerView
- Develop fully functional app
- Clean Architecture
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 86 / 100
Course Description
So this course will be a little different from my previous ones, because in this course we are going to build a fully functional To-Do application. We are going to build our app using Kotlin programming language, and you'll see all the benefits and power of concise way of programming with Kotlin. Our To-Do app will combine different android architecture components like Navigation Component, ROOM database, LiveData, ViewModel, Data Binding and more...
You will learn how to follow the principle of single activity and multiple fragments in your app. You will learn how to use Navigation Component in your app, how to work with Safe Args to pass data between fragments, and also create custom made Transition Animations for your destinations.
So why is a To-Do app important, well first and foremost because it teaches you how to build and maintain a database, how to write SQL queries to insert, update, delete data from database, but also how to write custom queries to search through Database, Sort your database by certain criteria and display it in proper way to your RecyclerView.
Also we are going to have a clean architecture in our project, you will learn how to organize your project structure and maintain good code readability.
At the later section of this course I'm going to teach you how to implement data binding to your app, and you'll see all the benefits of using it, because we are going to have less boilerplate codes in our app, plus everything will be separated, and our fragments will look a lot cleaner and simple. You will also be introduced with custom BindingAdapters.
At the end of this course we will implement swipe to delete function to our RecyclerView, also I'll show you how to easily change RecyclerViewlayout, apply a different look to your app with Grid and Staggered Grid layout as well. And when we are talking about RecyclerView, I should also mention that we will implement DiffUtil in our app and that way, increase overall app performance.
Also I need to mention that this course is NOT for ABSOLUTE beginners in android development. Because this course assumes that you already have a basic knowledge of programming in Kotlin, and a basic knowledge of android architecture components.
But if you wish to continue improving your skills and building your knowledge furthermore then this course is definitely the right option for you.
Instructor Details
- 4.3 Rating
520 Reviews
Stefan Jovanovic
Hi, my name is Stefan Jovanović. I’m a Kotlin Multiplatform developer, designer and technology enthusiast. Love working on a new and exciting projects, sharing my knowledge with others, and always willing to learn more.
I believe that permanent education is the key to success. I’ve been working as a developer/designer for 6 years so far.
Have a lots of projects on my mind. I will be creating many useful courses in the future, and hope to hear from you as you enroll in one of them!
Kind regards
More courses by Stefan Jovanovic
Compose Multiplatform (Android/iOS) - Mobile App Development (2026)
4.5 (780 Reviews)
Provider: Udemy
Time: 6.8h
$64.99
Build Modern Android App with REST API and Ktor Server (2025)
4.4 (556 Reviews)
Provider: Udemy
Time: 16.5h
$74.99
Compose Multiplatform - iOS/Android Development with Kotlin (2026)
4.3 (538 Reviews)
Provider: Udemy
Time: 2.3h
$64.99
Programming with Kotlin - Masterclass | Complete Course (2025)
4.3 (466 Reviews)
Provider: Udemy
Time: 14.4h
$74.99
Android Material UI Design Masterclass with Adobe Xd (2020)
4.5 (305 Reviews)
Provider: Udemy
Time: 6.7h
$64.99
Google Maps SDK for Android with Kotlin | Masterclass (2023)
4.5 (290 Reviews)
Provider: Udemy
Time: 7.7h
$64.99
More Android Development courses
The Complete Xamarin Developer Course: iOS And Android! (2025)
4.8 (4,610 Reviews)
Provider: Udemy
Time: 27.3h
$84.99
Unity Android : Build 3D ZigZag Racing Game with Unity & C# (2025)
4.8 (130 Reviews)
Provider: Udemy
Time: 12.1h
$74.99
Dependency Injection in Android with Dagger and Hilt (2024)
4.7 (2,556 Reviews)
Provider: Udemy
Time: 11.9h
$84.99
NativeScript + Angular: Build Native iOS, Android & Web Apps (2022)
4.7 (1,928 Reviews)
Provider: Udemy
Time: 20.7h
$84.99
Kotlin and Android Jetpack Compose masterclass (2026)
4.7 (470 Reviews)
Provider: Udemy
Time: 21.7h
$64.99
Android Game Development for Beginners - Learn Core Concepts (2023)
4.7 (220 Reviews)
Provider: Udemy
Time: 2.7h
$64.99
Reviews
By Adnan Rashid on 12/14/2021
The pacing of this course does not match the content that is being covered. Some of these topics require some more time and explanation, but the instructor speeds through a lot of the content without actually spending more time to explain its applications. Maybe that was the intent of the course and if so, then this isn't the course that'll help with learning about these topics from a fresh mindset but rather one that seems to require ample prior knowledge about the subject matter beforehand. So more of a review for those that already know I guess. You'll find yourself pausing a lot more than usual to try to keep up with the content.
By Birgit Aun on 11/10/2021
These days, for me, following along was at times a bit difficult due to the course implementing a few outdated/deprecated features. Migrating one particuar plugin was not fully explained in the bug section either, however, programming will often come with finding our own solutions like that, and in the end it was totally doable. This course is well structured and clearly spoken, although speech could be a bit slower. I feel like some of the "now we do this" could've been enriched with explanations. I love that the instructor is active and helpful on the platform, so if something is totally unclear, you will surely get a reply! Compared to other material that is available for Kotlin+Android, he is definitely 5/5 instructor. Excellent audio and 1080p video are great bonuses. Good job and thank you!
By Calvin england on 6/28/2021
Instructor did a good job explaining his code. Was a little fast so I utilized the pause button often. I wish he would update this course so that it does not use deprecated libraries at the start. Using older libraries and then correcting them later interferes with learning the latest practices.
By H P on 6/4/2021
Wow this course was a huge leap in my android skills! Thank you Stefan for all your hard work for creating this well crafted lesson. At the same time very much appreciated your constant and timely support to all my questions which allows me to progress throughout the course smoothly. Keep on creating high quality lessons in Android development! Cheers from the Philippines - HP
By Gregory Bass on 3/19/2021
Очень хороший, исчерпывающий курс базовых знаний для новичка. Грамотная, легкая подача материала без воды. Приятное произношение английского, подойдет всем кто хоть немного соображает в нем. В крайнем случае можно переводить субтитры. Я заодно и английский подтянул, пока изучал курс =) Большое спасибо за замечательный курс!
By Reem Mousa on 1/8/2021
It's a good course to have idea about every component illustrated. The thing that I didn't like is the instructor is just telling us we are gonna do this and that not discussing the idea first, may be think first on a white paper or something, maybe graphs! I really wanted this course to be better and I care that's why I am writing a review.
By Shivam Malik on 12/4/2020
Even though its not a beginner level course if you have some prior knowledge in kotlin android development its not hard to follow. Not everything is explained so bit research on your own will be required but you will still learn a lot of new things by the end of this course. Worth learning.
By Nikolaus Koopmann on 10/29/2020
"uh Hello there and welcome back :)" NICE AND CONCISE! Just how I like it. Usually I watch Udemy courses on 2x and constantly hit the +5seconds button. Not with this one. The regular speed was just perfect. I even watched some lessons twice, because I coded alongside of him and there is so much information in each lesson! I have about one year experience in Java and had played around with Kotlin before. If you do this course, be prepared to switch your brain on! The narrator expects you to be able to complement the course with some googling here and there by yourself! One question to Stefan: I ended up building my own "ToKiteList", loosely based on your ToDo-List. The app helps me to not forget (k)items ;), when I go kite-surfing. You can toggle between summer/winter session and stuff like that. Is it ok if I publish my app on the Google Play Store to share it with friends? -Thanks, Niko
By Vasilisa Sycheva on 10/27/2020
From my perspective, the author demonstrates great programming in action - very neat and clean. After this course, I'm building my App now. It helped a lot and I turning back to it a lot too. For me, as a beginner, there were a lot of new concepts, and that was very challenging to go through the course. Nevertheless the course is amasing! Thank you fo it!
By Anil Bhattarai on 10/8/2020
One of the best Android courses out there and one of the best instructors I have come so far on the Internet. I am a beginner in Kotlin but, I have some experience with Java. First off, I love how well structured and planned the course is. The lessons are short and concise and covered a variety of concepts in detail. The instructor has paid attention to minute and meticulous details to craft such a masterpiece. The bug hunt section is a win. Many courses on Udemy are out of date. However, in this course, the instructor focuses on updating the course regularly and even solving the issues the students have encountered. I would love to see more courses covering other topics such as working with API, building text and video chat applications, rental apps, eCommerce apps, Uber-like apps, Tinder-like apps, and much more. Highly Recommended!












