DEV Community

Cover image for Next.js + Firebase in 5 Minutes! 🔥 Quickest Deployment Tutorial 2024
Vladislav Guzey
Vladislav Guzey

Posted on

4

Next.js + Firebase in 5 Minutes! 🔥 Quickest Deployment Tutorial 2024

In this tutorial, I’ll show you how to deploy a full-stack JavaScript web app into Firebase. We’ll deploy a Next.js application to Firebase hosting. I’ll show you a quick and efficient process that can be completed in 5 minutes.

Video Tutorial: How to deploy Next.js to Firebase Hosting

Creating the Next.js Project

Let’s create a Next.js project if you don’t have one yet.

  • Create a new Next.js project using the terminal with the npx command.
npx create-next-app@latest
Enter fullscreen mode Exit fullscreen mode

Creating the Next.js Project

  • Push the project to GitHub. This step is crucial as the project will be published directly on Firebase from GitHub.
  • Run the project locally using the “npm run dev” command to ensure everything works correctly.

Run the project locally

Setting Up Firebase

  1. Go to the Firebase console (https://console.firebase.google.com/) and click the “Add project” link.
  2. Name the project e.g. “nextjs-on-firebase” and click a “Continue” button
  3. In the next step, choose whether to enable Google Analytics. I’ll turn it off because I don’t need it for this tutorial.
  4. After creating the project, navigate to the “App Hosting” section in the left sidebar.

Setting Up Firebase

  1. Click “Agree” to accept the Google Cloud Platform terms and conditions.

The next step will be to upgrade the Firebase plan because hosting for full-stack applications is not free.

Upgrading to Blaze Plan

To continue, you must upgrade to the Blaze plan (pay-as-you-go). To upgrade the plan, click on the “Upgrade project” button.

Upgrading to Blaze Plan

Fill in all the necessary details. If everything is okay, then you will see the screen below.

Upgrading to Blaze Plan

After upgrading, click the “Get Started” button.

After upgrading, click the “Get Started” button.

At the next screen, you need to connect your GitHub account and project to Firebase. This is an essential step because we will use GitHub as a project source.

  • Connect your GitHub account to Firebase.
  • Select your project from your GitHub repositories.
  • Choose the main branch (e.g., “master”) for deployment.
  • Keep the automatic deployment toggle on for updates to Firebase when changes are pushed to the master branch.
  • Name the backend project (e.g., “njs-firebase”) and click “Finish and deploy.”

If you get lost, you can watch this video: https://youtu.be/-VwulR_wTv0?si=L0fWDuo0DHz5tW62&t=82

Waiting for Deployment

The deployment process takes about 2–5 minutes. During this time, Firebase creates the necessary cloud environment. You can view the progress on the dashboard, which also provides the URL for your future app.

Waiting for Deployment

Accessing the Deployed App

The provided URL may not work immediately. It can take another 3–5 minutes for the deployment to be fully complete.

Once finished, a green check box appears in the “Rollout status” section.

a green check box appears

The Next.js project will be live on the Firebase platform.

The Next.js project

If you are having trouble accessing the project link, try clicking on “App Hosting” in the left menu and opening the project link from there.

If you want to know how to set up a custom domain for your project, please watch this video — “Firebase custom domain & Free SSL”

That’s it! :) If you have any questions, please use the comments section below.

Cheers!

SurveyJS custom survey software

Simplify data collection in your JS app with a fully integrated form management platform. Includes support for custom question types, skip logic, integrated CCS editor, PDF export, real-time analytics & more. Integrates with any backend system, giving you full control over your data and no user limits.

Learn more

Top comments (0)

SurveyJS custom survey software

JavaScript UI Libraries for Surveys and Forms

SurveyJS lets you build a JSON-based form management system that integrates with any backend, giving you full control over your data and no user limits. Includes support for custom question types, skip logic, integrated CCS editor, PDF export, real-time analytics & more.

Learn more

đź‘‹ Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay