O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Building a Realtime Chat Application with Angular and Firebase

Video Description

Build, launch and deploy your very own realtime chat application with authentication, using Angular, Bootstrap 4 and a Firebase backend.

About This Video

  • Working with RxJS and Observables to create realtime chat functionality in your application
  • Implement supporting services with Angular to show modals, load spinners and authenticate your users
  • Integrate Firebase into your Angular project and enable your Angular services to communicate with Firebase

In Detail

AngularJS is a structural framework for building dynamic web applications. If you’re facing a challenge in building robust and efficient web applications with Angular, then look no further as this video course will enable you to get to grips with Angular by enabling you to build a realtime chat application using Angular, Angular CLI, Bootstrap 4 and Firebase. Initially, you will quickly scaffold a new Angular application using Angular CLI and then, you’ll add Bootstrap 4 and a few other dependencies to build your application rapidly. On your journey, you will create new pages, implement routing, authentication and more. Next, you’ll work on setting up a new Firebase account and integrating the Firebase backend into your Angular application.

As you progress further, you will make use of a Reactive pattern and implement Observables to add realtime capabilities to your chat application. In addition to building a realtime chat room, you will also build user profile pages; implement a search engine for users and the sending of direct messages to users. Towards the end of this course, you will be able to build a fully featured realtime chat application using Angular and Firebase and deploy it to AWS so that the world can see it. We will help you to get started with Angular, understand how to apply it, and build some of the most robust, efficient and dynamic applications with Angular. After completing this course, you will likely find creative ways to apply it to your work.

Table of Contents

  1. Chapter 1 : Starting Your Angular Application
    1. The Course Overview 00:02:17
    2. Setting Up Your Environment 00:03:47
    3. Setting Up the Project Directory 00:03:31
    4. Installing Bootstrap 00:04:37
  2. Chapter 2 : Building the Initial Pages
    1. Creating the Login Form 00:06:50
    2. Creating the Login View 00:07:39
    3. Creating the Sign Up Page 00:05:13
    4. Adding the Navbar Component 00:08:37
    5. Generating Chatroom Page Components 00:10:31
    6. Creating Chatroom Page Layout 00:10:40
    7. Using a Template Driven Form for New Message Input 00:07:09
    8. Finalize Styling of Chatroom Page 00:04:04
  3. Chapter 3 : Creating Alert, Loading, and Authentication Services
    1. Creating an Alert Notification 00:08:40
    2. Implementing Alert Notifications on the Login Page 00:04:38
    3. Creating an Application Loading Indicator 00:07:41
    4. Setting Up the Authentication Service 00:05:27
    5. Connecting the Login and Signup Pages to the Authentication Service 00:07:15
    6. Protecting Routes with an Authentication Guard 00:06:02
  4. Chapter 4 : Setting Up and Connecting to Firebase
    1. Setting Up Firebase 00:09:00
    2. Connect Sign Up Page to Firebase 00:07:55
    3. Connect Login Page to Firebase 00:03:37
    4. Toggling Navbar Links Based on Authentication Status 00:03:26
  5. Chapter 5 : Building the Chatroom Functionality
    1. Seeding Our Firestore Database with Chatroom Data 00:06:40
    2. Fetching List of Chatrooms from Firestore 00:05:37
    3. Routing to Select a Chatroom 00:05:31
    4. Fetching Chatroom Title Based on Route 00:04:38
    5. Rendering Chatroom Messages from Our Firestore 00:03:05
    6. Posting New Chat Messages 00:08:27
  6. Chapter 6 : Creating User Profiles
    1. Seeding Our Firestore Database with User Data 00:02:22
    2. Creating User Profile Pages 00:12:48
    3. Implementing the Edit Profile Page Logic 00:12:02
    4. Edit Profile Page HTML and SCSS 00:09:56
    5. Creating Guard to Prevent Editing of Other Users’ Profiles 00:06:44
  7. Chapter 7 : Clean Up, Security, and Deploying to Amazon AWS S3
    1. Backend Security in Firebase’s Firestore 00:04:03
    2. Last Minute Clean Up and Styling Modifications 00:06:49
    3. Build and Deploy to Amazon AWS S3 00:08:11