Skip to main content
00:00/00:00
Lecture 5 of 80

Project's Source Code

Download Course (Free)

Course Content

0 / 80 completed
Section 1: Introduction7 videos

How is this course structured

5m

Is this the right course for you

6m

Introduction

3m

Application Project Preview

10m

Project's Source Code

3mNow Playing

Adding a Custom Material 3 Theme

20m

Creating the new Project

20m
Section 2: Splash Screen2 videos

Design the Splash Screen

24m

Implement the Splash Screen

25m
Section 3: Mongo DB Setup5 videos

Introducing with Realm Sync

15m

Mongo DB Atlas - Create a New Project

13m

Introducing with Mongo DB

56m

Install Mongo DB Compass

25m

Mongo DB Atlas - Enable Google Sign in

25m
Section 4: Navigation Setup1 videos

Setup the Navigation Graph

35m
Section 5: Authentication Screen6 videos

Design Authentication Screen

52m

Create a User on a Mongo DB Atlas

20m

JWT Authentication Provider with Mongo DB

21m

Implement One-Tap Sign in with Google

40m

Transparent Status and Navigation Bar

10m

Dynamically Update the Start Destination

27m
Section 6: Home Screen15 videos

Create a HomeTopBar

18m

Create Diary and Mood model classes

53m

Implement the Navigation Drawer

1h 5m

Create a DateHeader as a Sticky Header

39m

Define Flexible Sync Permission Rules

25m

Create a DiaryHolder Component

1h 25m

Define a Collection Schema

39m

Generate the Schema with Development Mode

23m

Create a Gallery Component

1h 12m

Configure the Realm

35m

Design a HomeContent

14m

Fix Blank Screen after the Splash Screen

10m

Animate DiaryHolder's Gallery

3m

Animate TopBar on Scroll

8m

Read all Diaries inside the App

1h 29m
Section 7: Write Screen13 videos

Pass Diary Id as an Argument

30m

Create WriteTopBar

47m

Fetch Selected Diary Information

26m

Create WriteContent

1h 7m

Parse Diary Info within a WriteTopBar

30m

Modify getSelectedDiary() function

8m

Insert a Diary

51m

Fix updatedDateTime lambda

21m

Update a Diary

44m

Push Screen when Keyboard is opened

9m

Input Fields Focusing

23m

Delete a Diary

1h 2m

Adding a custom DateTime

1h 30m
Section 8: Gallery Uploader12 videos

Create a GalleryUploader component

35m

Generate a Remote Image Path

37m

Sign in with Firebase

1h 2m

Create ImagesToUpload DAO & Database

15m

Get Download URL's from Firebase Storage

36m

Upload Gallery images to Firebase Storage

38m

Delete Images from Firebase when a Diary is Deleted

8m

Fix a Black Write Screen after the Orientation Change

9m

Handle when Image Upload Failed

40m

Implement a Zoomable Image

42m

Delete Images from Firebase when Updating a Diary

35m

Create ImagesToDelete DAO and Entity

36m
Section 9: Project Modularization13 videos

Introducing with the Modularization

2m

Module Types

20m

Modular Architecture of our Project

4m

Define a Version Catalog

42m

Create a buildSrc Directory

30m

Let's create the first Module - UI

1h 4m

Create a Utility Module

1h 9m

Feature Module - Authentication

37m

Create a Data Module

1h 30m

Feature Module - Home

49m

Apply Visibility Modifiers

41m

Fix the Filter Query

10m

Feature Module - Write

42m
Section 10: Filtering the Diaries - Home Screen2 videos

Filter Diaries by the Day of the Month

1h 30m

Delete all Diaries

1h 30m
Section 11: Homework1 videos

Homework for practice

3m
Section 12: Course Updates3 videos

#2 Empty List fixed, KAPT and Accompanist migration

53m

#3 Kotlin 2.0 and Version Catalog migration

40m

#1 'ObjectId' is deprecated. Use BSON ObjectId instead

47m