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.
Build a Slack Chat App with React, Redux, and Firebase
Build a Slack Chat App with React, Redux, and Firebase is a 67-lesson 5 hours 55 minutes self-paced course by Udemy. 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…
Course facts
- Lessons
- 67
- Duration
- 5 hours 55 minutes
- Level
- All levels
- Language
- English
- Updated
- Instructor
- Udemy
- Price
- Premium
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!
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)
- 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
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
Who teaches Build a Slack Chat App with React, Redux, and Firebase? Udemy
Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.
Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.
What lessons are included in Build a Slack Chat App with React, Redux, and Firebase?
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | Required Tools for the Project Demo | 01:00 | |
| 2 | Install React / Redux Dev Tools for Google Chrome | 02:28 | |
| 3 | Git Clone and Install Dependencies | 01:45 | |
| 4 | Organize Project, Create Routes | 04:20 | |
| 5 | Setup Firebase | 03:40 | |
| 6 | Create Register Form | 05:37 | |
| 7 | Register User with Email and Password | 06:08 | |
| 8 | Form Validation for Register Form | 07:09 | |
| 9 | Clear Errors upon Registration, Show Loading State | 05:33 | |
| 10 | Add Name and Avatar to Users, Add New Users to Database | 07:20 | |
| 11 | Create Login Form and Functionality | 04:11 | |
| 12 | onAuthStateChanged to Listen for Login/Register | 02:59 | |
| 13 | Set up Redux to Make User Data Available on Global State | 08:50 | |
| 14 | Add Spinner Component for Loading State | 03:29 | |
| 15 | Scaffold App Components | 04:20 | |
| 16 | App Header / UserPanel Dropdown | 06:06 | |
| 17 | Add Signout Functionality, Clear User Action | 04:05 | |
| 18 | Passing Redux State via Props | 07:05 | |
| 19 | Add Avatar to User Dropdown | 01:20 | |
| 20 | Add Channels Component | 03:00 | |
| 21 | Create Modal for Adding Channels | 05:34 | |
| 22 | Create Channels Collection, Add First Channel to Database | 06:46 | |
| 23 | Display Channels with child_added Listener | 03:23 | |
| 24 | Put Channel on Global State, Add channel_reducer | 05:22 | |
| 25 | Set First Channel on Page Load, Show Active Channel | 04:20 | |
| 26 | Remove Listeners with componentWillUnmount | 00:52 | |
| 27 | Scaffold ColorPanel / Message Components | 08:13 | |
| 28 | Create Messages Collection, Add First Message to Database | 11:21 | |
| 29 | Controlled Input to Clear Message, Disable Button on Loading State | 01:12 | |
| 30 | Display Messages, Create Message Component | 07:24 | |
| 31 | Create File Modal to Upload File | 05:20 | |
| 32 | Put Media File in State, Add Mimetype Validation | 05:51 | |
| 33 | Upload Image File, Post Image Message | 09:16 | |
| 34 | ProgressBar Component to Represent Image Upload | 03:47 | |
| 35 | Options for Displaying ProgressBar | 03:51 | |
| 36 | Add Channel Title / Users Count to Messages Header | 05:12 | |
| 37 | Add Ability to Search Messages | 07:20 | |
| 38 | Create DirectMessages Component | 03:02 | |
| 39 | Add Users to DirectMessages Component, Show If Online/Offline | 08:35 | |
| 40 | Put DirectMessage Channel Data in Global State, Set as Private Channels | 05:35 | |
| 41 | Functionality to Add Messages / Images to Private Channels | 07:09 | |
| 42 | Display Active DirectMessage Channel | 01:34 | |
| 43 | Add Notifications to Public Channel | 09:36 | |
| 44 | Add Starred Component to Hold Starred (Favorited) Channels | 03:46 | |
| 45 | Update 'Starred' Property for User Data Upon Starring Channel | 09:12 | |
| 46 | Display Starred Channels in Starred Component | 04:09 | |
| 47 | Scaffold MetaPanel Component | 05:41 | |
| 48 | Display Channel Info in MetaPanel | 03:31 | |
| 49 | Display Top Posters for each Channel in MetaPanel | 10:37 | |
| 50 | Add Color Picker Modal to ColorPanel | 04:30 | |
| 51 | Attach Chosen Colors to User Data | 07:58 | |
| 52 | Display Saved User Colors as Icons, Change App Colors on Click | 11:25 | |
| 53 | Create Change Avatar Modal | 04:12 | |
| 54 | Crop Uploaded Image with AvatarEditor | 06:22 | |
| 55 | Upload Cropped Image to Firebase, Put on User Profile | 06:50 | |
| 56 | Add Typing Collection to Track When Other Users Typing | 03:57 | |
| 57 | Add Typing Component / Animation, Display in Messages | 04:01 | |
| 58 | Add Typing Listeners to See When Other Users Typing | 07:07 | |
| 59 | Emoji Picker to Add Emojis to Messages | 06:52 | |
| 60 | Automatic Scroll to Bottom upon New Message | 03:00 | |
| 61 | Show Message Skeleton when Messages Loading | 06:34 | |
| 62 | Create Key Combo Shortcuts to Send Messages | 01:27 | |
| 63 | Remove Listeners upon Component Unmount | 06:40 | |
| 64 | Write Firebase Storage Rules for Media Files | 06:01 | |
| 65 | Write Database Rules for App Data | 06:51 | |
| 66 | Deploy our App with Firebase Tools | 03:05 | |
| 67 | Bonus Lecture | 00:30 |
Get instant access to all 66 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscriptionWhat courses are similar to Build a Slack Chat App with React, Redux, and Firebase?
-
Updated 2y agoWorking with React and Go (Golang)
By: UdemyReact and Go are something of a match made in heaven. React is the world's most popular JavaScript library for building Single Page Applications, and Go is uniq24h 48m -
Updated 2y agoThe React practice course, learn by building projects.
By: UdemyIncluding three full practice project, a landing page, a Firebase project and a fullstack with Mongo DB and Node. Do you want to practice your React coding or j43h 45m -
Updated 2y agoReact - The full course
By: FireshipReact - The Full Course is unlike any other React course on the Internet. It provides a fast-paced introduction to essential concepts, then puts them.1h 20m -
FreeUpdated 3y agoReact Front To Back 2022
By: Udemy, Brad TraversyThis course is for anyone that wants to learn React and also for React developers looking to build some projects and sharpen their skills.19h 57m -
Updated 1y agoChrome Extension Mastery: Build Full-Stack Extensions with React & Node.js
By: Ryan FitzgeraldYou learn to build Chrome extensions with React and Node.js. The text covers setup, UI, API work, tests, and publish steps.10h 3m5/5 -
Updated 2y agoReact Testing Library and Jest: The Complete Guide
By: Udemy, Stephen GriderCongratulations! You've found the most popular, most complete, and most up-to-date resource online for learning how to test React apps with React Testing Librar7h 40m -
FreeUpdated 2y agoMaster Class: React + Typescript 2021 Web Development
By: UdemyMany new React Developers find ReactJS easy to learn and that is totally true. But the problem is when they are coding complex structures, the code becomes unma22h 4m -
Updated 9mo agoMicroservices with NodeJS, React, Typescript and Kubernetes
By: UdemyIn building large scale applications intended for growth, microservices architecture is the go-to solution. One issue for Javascript and NodeJS learners is the97h 19m5/5
More courses by Udemy
-
Updated 2mo agoReact - The Complete Guide
React: The Complete Guide by Maximilian Schwarzmüller — original 2022 edition covering React hooks, Redux, Context API, Next.js basics.47h 42m5/5 -
Updated 3y agoComplete C# Unity Game Developer 3D
This is the long-awaited sequel to the Complete Unity Developer - one of the most popular e-learning courses on the internet!30h 34m -
Updated 3y agoNest.js Microservices: Build & Deploy a Scaleable Backend
Nest.js is an incredible backend framework that allows us to build scaleable Nodejs backends with very little complexity. A Microservice architecture is a popul5h 39m5/5 -
Updated 3y agoThe HTML & CSS Bootcamp 2023 Edition
Brand new HTML & CSS course, just released in February 2023 Check out the promo video to see the beautiful, responsive projects we build in this course!37h 18m5/5 -
Updated 3y agoMicroservices with Node JS and React
Event-Based Architecture? Covered! Server side rendering with React? Yep. Scalable, production-ready code? Its here!54h 13m5/5 -
FreeClassic100 Days of Code - The Complete Python Pro Bootcamp for 2023
Watch the 100 Days of Code Python Pro Bootcamp free: 100 daily projects covering Python basics, web scraping, data science, automation and GUI apps.58h 35m5/5