Tags
Language
Tags
August 2024
Su Mo Tu We Th Fr Sa
28 29 30 31 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

Complete Multi-Modular Architecture For Android Development

Posted By: ELK1nG
Complete Multi-Modular Architecture For Android Development

Complete Multi-Modular Architecture For Android Development
Published 1/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 7.40 GB | Duration: 12h 58m

Build a Multi-Module, Industry ready Android app with Kotlin, Authentication and a Mongo DB's Device Sync as a Database.

What you'll learn

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…

Requirements

Kotlin programming language

Android Studio basics

Jetpack Compose basics

Basic knowledge of Android Architecture components is a plus

Description

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!

Overview

Section 1: Introduction

Lecture 1 Introduction

Lecture 2 Application Project Preview

Lecture 3 Is this the right course for you?

Lecture 4 How is this course structured?

Lecture 5 Creating the new Project

Lecture 6 Adding a Custom Material 3 Theme

Section 2: Splash Screen

Lecture 7 Design the Splash Screen

Lecture 8 Implement the Splash Screen

Section 3: Mongo DB Setup

Lecture 9 Introducing with Mongo DB

Lecture 10 Introducing with Realm Sync

Lecture 11 Mongo DB Atlas - Create a New Project

Lecture 12 Install Mongo DB Compass

Lecture 13 Mongo DB Atlas - Enable Google Sign in

Section 4: Navigation Setup

Lecture 14 Setup the Navigation Graph

Section 5: Authentication Screen

Lecture 15 Design Authentication Screen

Lecture 16 Implement One-Tap Sign in with Google

Lecture 17 Create a User on a Mongo DB Atlas

Lecture 18 JWT Authentication Provider with Mongo DB

Lecture 19 Dynamically Update the Start Destination

Lecture 20 Transparent Status and Navigation Bar

Section 6: Home Screen

Lecture 21 Create a HomeTopBar

Lecture 22 Implement the Navigation Drawer

Lecture 23 Create Diary and Mood model classes

Lecture 24 Create a DateHeader as a Sticky Header

Lecture 25 Create a DiaryHolder Component

Lecture 26 Create a Gallery Component

Lecture 27 Define a Collection Schema

Lecture 28 Define Flexible Sync Permission Rules

Lecture 29 Configure the Realm

Lecture 30 Generate the Schema with Development Mode

Lecture 31 Design a HomeContent

Lecture 32 Read all Diaries inside the App

Lecture 33 Fix Blank Screen after the Splash Screen

Lecture 34 Animate DiaryHolder's Gallery

Lecture 35 Animate TopBar on Scroll

Section 7: Write Screen

Lecture 36 Create WriteTopBar

Lecture 37 Create WriteContent

Lecture 38 Pass Diary Id as an Argument

Lecture 39 Fetch Selected Diary Information

Lecture 40 Parse Diary Info within a WriteTopBar

Lecture 41 Insert a Diary

Lecture 42 Modify getSelectedDiary() function

Lecture 43 Update a Diary

Lecture 44 Adding a custom Date/Time

Lecture 45 Fix updatedDateTime lambda

Lecture 46 Delete a Diary

Lecture 47 Push Screen when Keyboard is opened

Lecture 48 Input Fields Focusing

Section 8: Gallery Uploader

Lecture 49 Create a GalleryUploader component

Lecture 50 Sign in with Firebase

Lecture 51 Generate a Remote Image Path

Lecture 52 Upload Gallery images to Firebase Storage

Lecture 53 Get Download URL's from Firebase Storage

Lecture 54 Create ImagesToUpload DAO & Database

Lecture 55 Handle when Image Upload Failed

Lecture 56 Implement a Zoomable Image

Lecture 57 Fix a Black Write Screen after the Orientation Change

Lecture 58 Delete Images from Firebase when a Diary is Deleted

Lecture 59 Delete Images from Firebase when Updating a Diary

Lecture 60 Create ImagesToDelete DAO and Entity

Section 9: Filtering the Diaries - Home Screen

Lecture 61 Delete all Diaries

Lecture 62 Filter Diaries by the Day of the Month

Section 10: Project Modularization

Lecture 63 Introducing with the Modularization

Lecture 64 Module Types

Lecture 65 Modular Architecture of our Project

Lecture 66 Define a Version Catalog

Lecture 67 Create a buildSrc Directory

Lecture 68 Let's create the first Module - UI

Lecture 69 Create a Utility Module

Lecture 70 Create a Data Module

Lecture 71 Feature Module - Authentication

Lecture 72 Feature Module - Home

Lecture 73 Feature Module - Write

Lecture 74 Apply Visibility Modifiers

Lecture 75 Fix the Filter Query

Section 11: Homework

Lecture 76 Homework for practice

Android Developers,Mobile Developers,Anyone who wants to improve their knowledge of Native Android Development,Anyone who wants to learn more about Multi-Modular Architecture,Anyone who wants to stand out from the crowd and acquire industry level knowledge,Anyone who's seriously interested in following the best practice