Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Meditation Personal Transformation Life Purpose Emotional Intelligence Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Google Analytics
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Modeling Data Analysis Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Blogging Freelancing Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Web Development React

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
Rating: 4.4 out of 54.4 (699 ratings)
3,949 students
Created by Reed Barger
Last updated 12/2019
English
English [Auto]
30-Day Money-Back Guarantee

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
Curated for the Udemy for Business collection

Course content

19 sections • 66 lectures • 5h 53m total length

  • Preview00:59
  • Install React / Redux Dev Tools for Google Chrome
    02:27

  • Preview01:44
  • Preview04:19
  • Preview03:39

  • Create Register Form
    05:36
  • Register User with Email and Password
    06:07

  • 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

  • Preview02:58
  • Set up Redux to Make User Data Available on Global State
    08:49
  • Add Spinner Component for Loading State
    03:28

  • Scaffold App Components
    04:19
  • App Header / UserPanel Dropdown
    06:05
  • Add Signout Functionality, Clear User Action
    Preview04:04
  • Preview07:04
  • Add Avatar to User Dropdown
    01:19

  • 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

  • Scaffold ColorPanel / Message Components
    08:12
  • Create Messages Collection, Add First Message to Database
    Preview11:20
  • Controlled Input to Clear Message, Disable Button on Loading State
    01:11
  • Display Messages, Create Message Component
    07:23

  • 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
  • Preview03:46
  • Options for Displaying ProgressBar
    03:50

  • 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

Featured review

Andrei Karas
Andrei Karas
8 courses
2 reviews
Rating: 4.5 out of 5a year ago
I enjoyed the course a lot. I liked the functionality of the app and the way the code is written. I would say, the only thing this course lacks is making the app fully responsive, even though it can be done by yourself easily using media queries. Sometimes instructor goes way too fast through the code and it makes it quite difficult to follow it, you will need to rewind or slow the video down at times.

Instructor

Reed Barger
Professional Web and Mobile Developer
Reed Barger
  • 4.3 Instructor Rating
  • 8,716 Reviews
  • 37,145 Students
  • 21 Courses

I am a professional developer with a passion for learning and teaching everything I know.

I believe in learning through doing and this philosophy is present in every course that I teach.

I love to explore new web & mobile technologies and my courses focus on giving you the edge in our fast-moving industry.

Looking forward to seeing you inside one of my courses!

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.