Build a Slack Chat App with React, Redux, and Firebase
4.3 (595 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,251 students enrolled

Build a Slack Chat App with React, Redux, and Firebase

Create a complete, full-stack chat application from front to back with React, Redux, Firebase 5, and Semantic UI React
4.3 (595 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,251 students enrolled
Created by Reed Barger
Last updated 12/2019
English
English [Auto]
Current price: $104.99 Original price: $149.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 6 hours on-demand video
  • 59 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Create full-stack apps with React, Redux and Firebase, among other tools in the React ecosystem
  • Make complete React apps from scratch, from setting up their dev environment to deployment on the web
  • Integrate Redux and Firebase with React apps using straightforward, practical patterns
  • Learn every major part of Firebase 5--the real-time database, storage, rules, listeners and deployment with Firebase tools
Course content
Expand all 66 lectures 05:53:41
+ User Authentication with Firebase
2 lectures 11:43
Create Register Form
05:36
Register User with Email and Password
06:07
+ Form Validation and Authentication Error Handling
4 lectures 24:09
Form Validation for Register Form
07:08
Clear Errors upon Registration, Show Loading State
05:32
Add Name and Avatar to Users, Add New Users to Database
07:19
Create Login Form and Functionality
04:10
+ Integrate Redux for Global State
3 lectures 15:15
Set up Redux to Make User Data Available on Global State
08:49
Add Spinner Component for Loading State
03:28
+ Building Out Chat Console
5 lectures 22:51
Scaffold App Components
04:19
App Header / UserPanel Dropdown
06:05
Add Avatar to User Dropdown
01:19
+ Adding / Displaying Public Channels
7 lectures 29:10
Add Channels Component
02:59
Create Modal for Adding Channels
05:33
Create Channels Collection, Add First Channel to Database
06:45
Display Channels with child_added Listener
03:22
Put Channel on Global State, Add channel_reducer
05:21
Set First Channel on Page Load, Show Active Channel
04:19
Remove Listeners with componentWillUnmount
00:51
+ Adding / Displaying Messages on Public Channels
4 lectures 28:06
Scaffold ColorPanel / Message Components
08:12
Controlled Input to Clear Message, Disable Button on Loading State
01:11
Display Messages, Create Message Component
07:23
+ Adding / Uploading Messages with Media Files
5 lectures 28:00
Create File Modal to Upload File
05:19
Put Media File in State, Add Mimetype Validation
05:50
Upload Image File, Post Image Message
09:15
Options for Displaying ProgressBar
03:50
+ Sending Direct Messages to Users
7 lectures 38:20
Add Channel Title / Users Count to Messages Header
05:11
Add Ability to Search Messages
07:19
Create DirectMessages Component
03:01
Add Users to DirectMessages Component, Show If Online/Offline
08:34
Put DirectMessage Channel Data in Global State, Set as Private Channels
05:34
Functionality to Add Messages / Images to Private Channels
07:08
Display Active DirectMessage Channel
01:33
Requirements
  • Some experience with React (i.e. having built a couple of projects with React Create App)
  • Prior knowledge of ES6 features will help (spread operators, destructuring, object shorthand syntax)
Description

Interested in building impressive full-stack apps with React, Redux and Firebase? This is the course for you!

Here's what we will cover:

  • Creating a complete Slack chat application with React, Redux, and Firebase 5 from scratch

  • Sending and receiving messages instantly with the real-time Firebase Database

  • Uploading and displaying image messages using Firebase Storage

  • Notifications to display new messages in other channels

  • Sending Direct Messages to other users in our chat

  • Tracking / showing when users are online / offline

  • Searching messages within created channels

  • Custom animations to see when other users are typing in the same channel

  • Creating, cropping and uploading user avatars

  • The ability to favorite / unfavorite public channels

  • Add emojis to our messages with an Emoji Picker component

  • User authentication with Firebase

  • Form validation for our Login and Register forms

  • State management with Redux, with simple, straightforward patterns

  • Creating stunning user interfaces with Semantic UI React

  • Essential features of React Router 4 (Switch component, withRouter HOC, history object)

  • Tons of work with ES6 / 7

  • Helpful browser tools such as React / Redux Dev Tools

  • Securing our application with Firebase Rules

  • Deploying our chat app to the web using Firebase Tools

  • Keyboard shortcuts to rapidly send messages

  • And more!

What will be building in this course?

Throughout this course, we'll be building a live chat app for developers called DevChat, where users will be able to create channels, to send messages to other users on those channels, send media files, see when other users are typing, add emojis to their messages, favorite and unfavorite channels they like or dislike, and get notifications about new messages on other channels. 

Who this course is for:
  • Anyone who has at least two months of experience with the JavaScript library React
  • React developers interested in making functional, real-world apps
  • Developers looking for more experience with the JavaScript language in a practical setting