Mô tả

In this course I'm going to teach you how to build an Android Application by implementing the Multi-Modular Architecture. You will learn everything about properly configuring the project in order to make a maintainable structure that can grow easily!


Modularization is an unavoidable Architecture when working on a big, industry level code bases that pretend to expand furthermore. Almost every employer our there, will appreciate your experience with working on a multi-modular projects. But that can be tough when you are a beginner, since it's hard to find a quality source of information on this topic. However, with that knowledge, it means that you will definitely stand out from the crowd when applying for a job. You will feel confident!


This course is a beginner friendly. Which means that you don't need to have any experience with this kind of an architecture, to be able to follow along. And the proof of that is the actual structure of this same course. First, we are going to build an android application without the multi-module architecture, so that you can get introduced with the project itself. And only after we fully complete the app, then we are going to refactor the project, and split it up into multiple different modules.


That way you will learn not just how to create and maintain a multi-module project, but also how to refactor an existing project to follow that same architecture and structure!


We are going to build a beautiful Diary application by using the newest API's and technologies for Android Development. Like the ROOM library for a local database, Jetpack Compose for building the UI of our application, New Splash API, Material 3, Kotlin Coroutines, Dagger-Hilt dependency injection library, One-Tap Sign in with Google, Firebase Authentication, Firebase Storage, Mongo Authentication, Mongo Realm Database, but also a Mongo Realm/Device Sync service as well.


With Device Sync we will be able to easily synchronize the data between a client-side database(Android) and a powerful, fully managed back-end in Atlas. With out-of-the-box networking code and conflict resolution. Device Sync is especially helpful for apps that must continue to function when are offline, or apps that offer real-time collaboration.


When offline, changes in the database will be saved locally, until you receive back an internet connection, when the changes will be automatically pushed on the back-end without any action from your side. Which is amazing!


With a Mongo Device Sync, you will be able to build Industry-ready apps quite easily,with minimal effort!


Bottom line, this course is going to teach you a lot of stuff.

Wait no more and enroll now!

Bạn sẽ học được gì

Multi-Modular Architecture for Android Development

Mongo DB

Mongo Authentication

Mongo DB Realm

Mongo DB Realm/Device Sync

Mongo Atlas

Realm Kotlin SDK

Synchronize the data between a client and the server

Jetpack Compose

Material 3

Dagger-Hilt

ROOM Database

Firebase Authentication

Firebase Storage

Google Authentication

One-Tap Sign in with Google

Splash API

JWT Authentication

Animation

Custom UI Components

Diary Application

Flexible Sync

Permissions

Version Catalog

And more...

Yêu cầu

  • Kotlin programming language
  • Android Studio basics
  • Jetpack Compose basics
  • Basic knowledge of Android Architecture components is a plus

Nội dung khoá học

12 sections

Introduction

7 lectures
Introduction
02:10
Application Project Preview
09:41
Is this the right course for you?
02:32
How is this course structured?
01:56
Creating the new Project
09:33
Adding a Custom Material 3 Theme
06:01
Project's Source Code
00:59

Splash Screen

2 lectures
Design the Splash Screen
06:42
Implement the Splash Screen
07:51

Mongo DB Setup

5 lectures
Introducing with Mongo DB
05:45
Introducing with Realm Sync
04:40
Mongo DB Atlas - Create a New Project
07:37
Install Mongo DB Compass
09:47
Mongo DB Atlas - Enable Google Sign in
07:54

Navigation Setup

1 lectures
Setup the Navigation Graph
11:44

Authentication Screen

6 lectures
Design Authentication Screen
12:08
Implement One-Tap Sign in with Google
12:13
Create a User on a Mongo DB Atlas
15:39
JWT Authentication Provider with Mongo DB
05:39
Dynamically Update the Start Destination
12:01
Transparent Status and Navigation Bar
05:28

Home Screen

15 lectures
Create a HomeTopBar
08:16
Implement the Navigation Drawer
18:59
Create Diary and Mood model classes
15:12
Create a DateHeader as a Sticky Header
09:33
Create a DiaryHolder Component
19:52
Create a Gallery Component
20:16
Define a Collection Schema
12:19
Define Flexible Sync Permission Rules
09:05
Configure the Realm
11:51
Generate the Schema with Development Mode
07:41
Design a HomeContent
07:14
Read all Diaries inside the App
27:15
Fix Blank Screen after the Splash Screen
05:16
Animate DiaryHolder's Gallery
01:15
Animate TopBar on Scroll
03:56

Write Screen

13 lectures
Create WriteTopBar
14:43
Create WriteContent
15:13
Pass Diary Id as an Argument
09:08
Fetch Selected Diary Information
11:28
Parse Diary Info within a WriteTopBar
13:01
Insert a Diary
14:48
Modify getSelectedDiary() function
03:17
Update a Diary
12:45
Adding a custom Date/Time
19:13
Fix updatedDateTime lambda
05:54
Delete a Diary
13:04
Push Screen when Keyboard is opened
03:35
Input Fields Focusing
06:09

Gallery Uploader

12 lectures
Create a GalleryUploader component
19:17
Sign in with Firebase
16:07
Generate a Remote Image Path
09:15
Upload Gallery images to Firebase Storage
11:07
Get Download URL's from Firebase Storage
16:05
Create ImagesToUpload DAO & Database
08:20
Handle when Image Upload Failed
09:39
Implement a Zoomable Image
11:30
Fix a Black Write Screen after the Orientation Change
02:51
Delete Images from Firebase when a Diary is Deleted
04:00
Delete Images from Firebase when Updating a Diary
10:30
Create ImagesToDelete DAO and Entity
08:40

Filtering the Diaries - Home Screen

2 lectures
Delete all Diaries
24:43
Filter Diaries by the Day of the Month
20:03

Project Modularization

13 lectures
Introducing with the Modularization
04:01
Module Types
07:43
Modular Architecture of our Project
02:14
Define a Version Catalog
09:02
Create a buildSrc Directory
08:58
Let's create the first Module - UI
12:45
Create a Utility Module
13:22
Create a Data Module
19:43
Feature Module - Authentication
09:47
Feature Module - Home
12:55
Feature Module - Write
09:12
Apply Visibility Modifiers
11:08
Fix the Filter Query
05:17

Homework

1 lectures
Homework for practice
02:31

Course Updates

2 lectures
#1 'ObjectId' is deprecated. Use BSON ObjectId instead
08:58
#2 Empty List fixed, KAPT and Accompanist migration
11:27

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.