Book Image

Hands-on Full Stack Development with Angular 5 and Firebase

By : Uttam Agarwal
Book Image

Hands-on Full Stack Development with Angular 5 and Firebase

By: Uttam Agarwal

Overview of this book

<p>This book is a complete package for you to build real-time web applications. You will build an end-to-end social networking web application from development to production with Angular as the frontend and Firebase as the backend.</p> <p>You will create an application called Friends with authentication, friends, and chat features. During the process, you’ll use Firebase authentication to register new users and Firebase database to store your extra user data. You’ll take a look at how to store and retrieve your user's images from Firebase storage. Then, you’ll create a real-time chat module with the Firebase database. Next, you’ll secure your database using Firebase security, make your application live with Firebase hosting, and develop your application with analytics.</p> <p>Moving on, you’ll take a look at how to create web pages using bootstrap with HTML, CSS, and TypeScript. You will use the angularfire2 library API in Angular services to interact with Firebase and write unit tests using the Jasmine framework that will help you to write a production-ready application. You’ll also discover various debugging techniques to troubleshoot any bug in your application. Finally, you’ll make your application Progressive Web Applications compliant.</p> <p>By the end of this book, you’ll be able to confidently build any complex application.</p>
Table of Contents (20 chapters)
Title Page
Packt Upsell
Contributors
Preface
Index

Enabling offline mode


In this section, we will cover how to enable offline mode for our application, which helps the user open our web application without an internet connection.

In order to support offline mode, we have to cache resources in the client browser, and for that, we use the precache plugin to cache our resources using service worker. It creates the service worker file using sw-precache. The steps involved are as follows:

  1. Installing the plugin: The first step is to install the precache plugin in our current project using the following command:
$npm install --save-dev sw-precache-webpack-plugin
  1. Creating precache JavaScript: The precache plugin uses the precache configuration file to define resources to cache in the client browser. For more details about the precache plugin, refer to https://github.com/goldhand/sw-precache-webpack-plugin.

Here's the complete precache.config.js:

var SWPrecacheWebpackPlugin = require('sw-precache-webpack-plugin');
module.exports = {
 navigateFallback...