There are three different environments that you’ll probably deal with at some point. Each environment has its own properties and uses and it’s important to use them accordingly. Once you know what the environments are used for it’ll make since why we have so many of them.

The main three environments are: development, stage, and production.

Every time you talk about making your project live, this is the environment you are talking about. The production environment is where users access the final code after all of the updates and testing. Of all the environments, this one is the most important.

Learning Objectives

  • Define the term environment in the context of web development
  • Differentiate between different environments in web development
  • What is Heroku
  • How to deploy your project using Heroku.



Now as your app is fully functional and you are happy with it, the only missing thing is a way to show the world your master piece, and that will be done ofc through deploying your app.

What is Software Deployment?

Software Deployment Meaning: Software deployment includes all of the steps, processes, and activities that are required to make a software system or update available to its intended users.

By this phase you should already know what is deployment and maybe you had even deployed one or two front end applications in the front end part of this course but now you will learn how you can deploy a full stack app.

Deploying app using Heroku
  • Heroku is a cloud service platform.

Your Heroku app runs in at least two environments:

  • On your local machine (i.e., development).
  • Deployed to the Heroku platform (i.e., production)

Ideally, your app should run in two additional environments:

  • Test, for running the app’s test suite safely in isolation
  • Staging, for running a new build of the app in a production-like setting before promoting i

There are two main ways to deploy your full stack app :

  • Deploy both your frontend and backend as one application
  • Deploy the frontend and the backend separately from each other so you will be dealing with two apps in the same time ( one for the front end and one will be like API for your app ) and that’s what we will try to create

Also for deploying your app you can find a lot of providers like :

And so much more …

But to avoid any confusion we will be using only one provider which is Heroku.

Deploying React app with Heroku :
  • In this video you will learn how to deploy a React app to Heroku
Deploying Node js server with Heroku :
  • In this video you will learn how to deploy a Node js Server to Heroku

  • OR simply you can follow the documentation


You now know how to deploy an app, change its configuration, view logs, scale, and attach add-ons.

Here’s some recommended reading From Heroku official website.

Here is 👇🏻👇🏻👇🏻 another two articles that explain deployment step by step