Skip to content

Aplicación NodeJS + Express + MongoDB + Mongoose con despliegue en Heroku 🚀

Notifications You must be signed in to change notification settings

flippiJS/nodejs-mongodb-mongoose-heroku

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 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 + Mongoose 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, base NoSQL MongoDB con Mongoose 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-mongoose-heroku/deployments

Heroku6

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

https://nodejs-mongodb-mongoose-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 + Mongoose con despliegue en Heroku 🚀

Topics

Resources

Stars

Watchers

Forks