Node Three

Massive & Heroku

The Full Stack

req

req

res

res

Client

Server

Database

React

HTML

CSS

JS

Node.js

Express

PostgreSQL

 

Axios

Massive

Front-end

Back-end

Heroku Set-up

Heroku is a platform for hosting databases, and we will use it to host our PostgreSQL databases.

 

Follow the link below and create an account:

SQL Tabs

SQL Tabs is an application that allows us to interact with a hosted database.

 

Download it here:

Dotenv

When dealing with sensitive information, such as API Keys and Database URL's, you want to ensure that access to that information stays private.

 

Dotenv is a package that allows you to create environmental variables that are only accessible on your local machine.

 

To install it, run the following command:

npm install dotenv

Dotenv Setup

Once installed, create a .env file at the root of your project directory:

As soon as it is created, put the .env file in your .gitignore file to avoid pushing environmental variables to GitHub.

Dotenv Setup

In your .env file, you can store environmental variables like so:

SERVER_PORT=4040
CONNECTION_STRING=database_url_here?ssl=true

Note: Do NOT put semicolons at the end of these variables.

 

Also, '?ssl=true' adds extra protection to your database URL requests.


Do you remember what ssl stands for?
 

Dotenv Setup

Once environmental variables have been created, require dotenv at the top of your main server file like so:

require('dotenv').config({path:__dirname + '/../.env'})

Afterward, you can destructure values off of the process.env object that dotenv will create for you.

const {SERVER_PORT, CONNECTION_STRING} = process.env;

Massive

Massive is a data mapping package for Node.js that allows us to interact with a PostgreSQL database through our server.

 

To install it, run the following command:

npm install massive

Once installed, require it in your main server file:

const massive = require('massive');

Massive

Once massive is installed and required, it can be invoked to create a constant connection with your database:

massive(CONNECTION_STRING).then((dbInstance) => {
    app.set('db', dbInstance);
});

DB Folders

Once a connection to your database has been established, you can begin to create PostgresSQL queries in your project.

 

First, create a 'db' folder at the root of your project:

DB Folders

Inside of your 'db' folder, create a seed file.

 

The seed file should contain the create statements for your database schema, should you need to 'reseed' the database for any reason.

 

Other SQL queries can also be added and included in this folder.

Node 3

By matias_perez

Node 3

Massive & Heroku

  • 281