Ionic 5 Carpool App Starter
  • Introduction
  • Ionic 5 Carpool App Template
  • Why to use this Template
  • Initial Setup
  • Running the app
  • Template Features
    • Screens
      • Landing, Login, Signup, Forgot Password
      • Home, Ride History
      • Offer Ride Flow
      • Find a Ride Flow
      • Chat Pages
      • Profile Pages
    • Features
  • How to use this Template
    • Two way to use the Template
    • Modifying Code
    • Removing a Page
    • Removing a plugin
    • Integrating Back-end
    • Add More Features
  • Building App on Device
    • Building App on Device
    • Deploying app as PWA
  • Extra
    • FAQs
    • Troubleshooting
Powered by GitBook
On this page
  1. Building App on Device

Deploying app as PWA

Learn how to deploy your app as PWA on a free Firebase hosting

PreviousBuilding App on DeviceNextFAQs

Last updated 5 years ago

Was this helpful?

CtrlK
  • Prepare Firebase project for PWA
  • Convert the app into a PWA

Was this helpful?

This app isn't designed as a PWA, but you can always make UI changes and deploy it as a PWA as well. Following info is useful just in case you want to change and deploy it as PWA

Prepare Firebase project for PWA

Detailed explanation of Firebase integration in our tutorial here

To deploy the app as PWA , we will demonstrate using Firebase hosting.‌‌

First create a project on Firebase.‌‌

Now, in your project directory, run

$ npm install -g firebase-tools

This will install Firebase tools in your project. Now login into Firebase using

$ firebase login

It will redirect you to browser, and authenticate using your google account. Once you are logged in, you can run this command to attach the code to your project.

$ firebase init

It will take you through a list of options for project setup.‌‌

This will create a firebase.json file which should look like the following

{
  "hosting": {
    "public": "www",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }
}

Convert the app into a PWA

The two main requirements of a PWA are a Service Worker and a Web Manifest. While it's possible to add both of these to an app manually, the Angular team has an @angular/pwa package that can be used to automate this.‌‌

To add this package to the app run:

$ ng add @angular/pwa

Finally, build your project into production using

$ ionic build --prod

This will create a production build of your ionic app for PWA deployment. Use Firebase to deploy the app using

$ firebase deploy --only hosting

Whenever you make any changes to the app, make sure you run ionic build --prod before deploying it again on the hosting.‌‌

This will deploy your app on a Firebase url such as https://spotifyapp.firebaseapp.com/ where you will see your app running perfectly.‌‌

The Firebase console will show the deployment like this​‌

For a more detailed step-by-step guide on PWA deployment, check this blog​​‌

When deploying an app through a hosting service, be aware that HTTPS will be required to take full advantage of Service Workers and features like Geolocation etc.‌‌

For more information on PWA related option in firebase.json , check here​