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 [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
Register User with Email and Password
+ Form Validation and Authentication Error Handling
4 lectures 24:09
Form Validation for Register Form
Clear Errors upon Registration, Show Loading State
Add Name and Avatar to Users, Add New Users to Database
Create Login Form and Functionality
+ Integrate Redux for Global State
3 lectures 15:15
Set up Redux to Make User Data Available on Global State
Add Spinner Component for Loading State
+ Building Out Chat Console
5 lectures 22:51
Scaffold App Components
App Header / UserPanel Dropdown
Add Avatar to User Dropdown
+ Adding / Displaying Public Channels
7 lectures 29:10
Add Channels Component
Create Modal for Adding Channels
Create Channels Collection, Add First Channel to Database
Display Channels with child_added Listener
Put Channel on Global State, Add channel_reducer
Set First Channel on Page Load, Show Active Channel
Remove Listeners with componentWillUnmount
+ Adding / Displaying Messages on Public Channels
4 lectures 28:06
Scaffold ColorPanel / Message Components
Controlled Input to Clear Message, Disable Button on Loading State
Display Messages, Create Message Component
+ Adding / Uploading Messages with Media Files
5 lectures 28:00
Create File Modal to Upload File
Put Media File in State, Add Mimetype Validation
Upload Image File, Post Image Message
Options for Displaying ProgressBar
+ Sending Direct Messages to Users
7 lectures 38:20
Add Channel Title / Users Count to Messages Header
Add Ability to Search Messages
Create DirectMessages Component
Add Users to DirectMessages Component, Show If Online/Offline
Put DirectMessage Channel Data in Global State, Set as Private Channels
Functionality to Add Messages / Images to Private Channels
Display Active DirectMessage Channel
  • 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)

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