Урок 1.00:01:00
Required Tools for the Project
Урок 2.00:02:28
Install React / Redux Dev Tools for Google Chrome
Урок 3.00:01:45
Git Clone and Install Dependencies
Урок 4.00:04:20
Organize Project, Create Routes
Урок 5.00:03:40
Setup Firebase
Урок 6.00:05:37
Create Register Form
Урок 7.00:06:08
Register User with Email and Password
Урок 8.00:07:09
Form Validation for Register Form
Урок 9.00:05:33
Clear Errors upon Registration, Show Loading State
Урок 10.00:07:20
Add Name and Avatar to Users, Add New Users to Database
Урок 11.00:04:11
Create Login Form and Functionality
Урок 12.00:02:59
onAuthStateChanged to Listen for Login/Register
Урок 13.00:08:50
Set up Redux to Make User Data Available on Global State
Урок 14.00:03:29
Add Spinner Component for Loading State
Урок 15.00:04:20
Scaffold App Components
Урок 16.00:06:06
App Header / UserPanel Dropdown
Урок 17.00:04:05
Add Signout Functionality, Clear User Action
Урок 18.00:07:05
Passing Redux State via Props
Урок 19.00:01:20
Add Avatar to User Dropdown
Урок 20.00:03:00
Add Channels Component
Урок 21.00:05:34
Create Modal for Adding Channels
Урок 22.00:06:46
Create Channels Collection, Add First Channel to Database
Урок 23.00:03:23
Display Channels with child_added Listener
Урок 24.00:05:22
Put Channel on Global State, Add channel_reducer
Урок 25.00:04:20
Set First Channel on Page Load, Show Active Channel
Урок 26.00:00:52
Remove Listeners with componentWillUnmount
Урок 27.00:08:13
Scaffold ColorPanel / Message Components
Урок 28.00:11:21
Create Messages Collection, Add First Message to Database
Урок 29.00:01:12
Controlled Input to Clear Message, Disable Button on Loading State
Урок 30.00:07:24
Display Messages, Create Message Component
Урок 31.00:05:20
Create File Modal to Upload File
Урок 32.00:05:51
Put Media File in State, Add Mimetype Validation
Урок 33.00:09:16
Upload Image File, Post Image Message
Урок 34.00:03:47
ProgressBar Component to Represent Image Upload
Урок 35.00:03:51
Options for Displaying ProgressBar
Урок 36.00:05:12
Add Channel Title / Users Count to Messages Header
Урок 37.00:07:20
Add Ability to Search Messages
Урок 38.00:03:02
Create DirectMessages Component
Урок 39.00:08:35
Add Users to DirectMessages Component, Show If Online/Offline
Урок 40.00:05:35
Put DirectMessage Channel Data in Global State, Set as Private Channels
Урок 41.00:07:09
Functionality to Add Messages / Images to Private Channels
Урок 42.00:01:34
Display Active DirectMessage Channel
Урок 43.00:09:36
Add Notifications to Public Channel
Урок 44.00:03:46
Add Starred Component to Hold Starred (Favorited) Channels
Урок 45.00:09:12
Update 'Starred' Property for User Data Upon Starring Channel
Урок 46.00:04:09
Display Starred Channels in Starred Component
Урок 47.00:05:41
Scaffold MetaPanel Component
Урок 48.00:03:31
Display Channel Info in MetaPanel
Урок 49.00:10:37
Display Top Posters for each Channel in MetaPanel
Урок 50.00:04:30
Add Color Picker Modal to ColorPanel
Урок 51.00:07:58
Attach Chosen Colors to User Data
Урок 52.00:11:25
Display Saved User Colors as Icons, Change App Colors on Click
Урок 53.00:04:12
Create Change Avatar Modal
Урок 54.00:06:22
Crop Uploaded Image with AvatarEditor
Урок 55.00:06:50
Upload Cropped Image to Firebase, Put on User Profile
Урок 56.00:03:57
Add Typing Collection to Track When Other Users Typing
Урок 57.00:04:01
Add Typing Component / Animation, Display in Messages
Урок 58.00:07:07
Add Typing Listeners to See When Other Users Typing
Урок 59.00:06:52
Emoji Picker to Add Emojis to Messages
Урок 60.00:03:00
Automatic Scroll to Bottom upon New Message
Урок 61.00:06:34
Show Message Skeleton when Messages Loading
Урок 62.00:01:27
Create Key Combo Shortcuts to Send Messages
Урок 63.00:06:40
Remove Listeners upon Component Unmount
Урок 64.00:06:01
Write Firebase Storage Rules for Media Files
Урок 65.00:06:51
Write Database Rules for App Data
Урок 66.00:03:05
Deploy our App with Firebase Tools
Урок 67.00:00:30
Bonus Lecture