Skip to content

Aplicaci贸n NodeJS + Express + MongoDB con despliegue en Heroku 馃殌

Notifications You must be signed in to change notification settings

flippiJS/nodejs-mongodb-heroku

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

14 Commits

Repository files navigation

鈿狅笍 Atenci贸n Esta opci贸n dej贸 de ser gratuita debido a cambios en la plataforma de Heroku. Mas info.

Aplicaci贸n NodeJS + Express + MongoDB con despliegue autom谩tico en Heroku.

Introducci贸n

El principal objetivo de este repo es poder desplegar de forma autom谩tica nuestra aplicaci贸n NodeJS con Express y base NoSQL MongoDB en Heroku.

1- Forkear proyecto

Como primer paso, forkeamos este proyecto desde el boton ubicado en la parte superior derecha de la pagina del repositorio.

2- Subimos nuestro c贸digo (opcional si agregan c贸digo)

Una vez forkeado, clonamos el repo con git clone <url del repo> y agregamos nuestro codigo.

Luego comiteamos y pusheamos los cambios.

git add .
git commit -m "first commit"
git push -u origin main

3- Crear y configurar la App en Heroku

Nos dirigimos a la p谩gina de Heroku https://heroku.com/, iniciamos sesi贸n si tenemos cuenta o creamos una.

Heroku al iniciar sesi贸n nos muestra su dashboard, aqu铆 haremos clic en New y luego en Create new app:

Heroku1

En esta secci贸n agregamos el nombre de la app, seleccionamos la regi贸n United States y luego clic en bot贸n Create app

Heroku2

Ahora vamos a la secci贸n Deploy y hacemos clic en la opci贸n de GitHub, la cual nos mostrar谩 nuestro usuario o tendremos que iniciar sesi贸n con GitHub. Despu茅s buscamos el nombre de nuestro repo y aparecer谩 abajo:

Heroku3

Seleccionamos el repo y hacemos clic en Connect

Una vez hecho esto, elegimos la rama de github que queremos deplegar con nuestra aplicaci贸n Heroku, en nuestro caso main, y hacemos clic en Enable Automatic Deploys. De esta forma, cada vez que se haga una modificaci贸n a esta rama, Heroku va actualizar autom谩ticamente la aplicaci贸n.

Heroku4

Lo utlimo que deberiamos hacer es clic en el bot贸n Deploy Branch. Esto solo se hace una sola vez, luego se har谩 de forma autom谩tica.

Heroku5

Podemos verificar desde GitHub si el depliegue se hizo con exito.

https://github.com/flippiJS/nodejs-mongodb-heroku/deployments

Heroku6

Desde el bot贸n View deployment accedemos a la URL de la app desplegada.

https://nodejs-mongodb-heroku.herokuapp.com/

4- Crear y configurar la base de datos MongoDB (MongoDB Atlas Online)

Para esto vamos a crear una cuenta en MongoDB Atlas -> https://account.mongodb.com/account/register que nos permite acceder gratuitamente a un servidor MongoDB en la nube.

Completamos los datos y creamos la cuenta Sign Up:

Validamos la cuenta desde el link enviado al correo.

Iniciamos sesi贸n, completamos los datos que nos pide el formulario.

mongo2

Seleccionamos el plan FREE

mongo3

Elegimos un proveedor a elecci贸n y la regi贸n

mongo4

Una vez creado, vamos a crear la DB

mysql3

Ahora configurar los datos de conexion a la base de datos, permitimos la conexion desde cualquier IP publica y completamos los valores

Es MUY IMPORTANTE copiar esa informacion (usuario y clave).

Una vez creado, presionamos Connect

mysql3

Continuamos haciendo click en Connect you application

mysql3

Seleccionamos la versi贸n de Node y copiamos la URL de conexi贸n

mysql3

Con estos datos nos vamos al dashboard del proyecto en Heroku, en la pesta帽a Settings, la opci贸n Config Vars.

Agregamos los siguientes datos Clave -> Valor:

MONGO_URL='mongodb+srv://127.0.0.1:27017/'(Url de connect de Atlas)
MONGO_DB_NAME='test' (Nombre de DB creada en Atlas)

mongodb-1

Correr localmente

  • Acceder por linea de comandos a la carpeta del proyecto y luego ejecutamos:
cd C:\<ruta-del-repo-clonado>
npm i
npm start

Archivo .env localmente

Crear en la raiz del proyecto el archivo .env tomando de referencia .env.example

Agregamos los siguientes datos Clave -> Valor:

MONGO_URL='mongodb+srv://127.0.0.1:27017/'(Url de connect de Atlas)
MONGO_DB_NAME='test' (Nombre de DB creada en Atlas)

Ayuda

Cualquier duda o consulta por el canal de slack

2021 - UTN FRA

About

Aplicaci贸n NodeJS + Express + MongoDB con despliegue en Heroku 馃殌

Topics

Resources

Stars

Watchers

Forks