Backend - Heroku + BBDD (Deprecado)
En este segundo despliegue, conectaremos nuestro backend de Heroku con una base de datos MongoDB que reside en Atlass. Así, nuestro esquema del despliegue se quedaría en algo parecido a esto:
Despliegue con Heroku - BBDD
Este despliegue está orientado para el proyecto de bbdd o siguientes.
Atlas
Mongo DB Atlas es un servicio de base de datos en la nube que permite almacenar documentos basados en MongoDB incorporando optimización de recursos, cargas de trabajo y mucho más. Tiene un servicio gratuito que podemos utilizar para nuestro proyecto.
- Crea una nueva cuenta o accede a tu cuenta desde esta página.

- Elige la opción gratuita llamada shared pulsando en el botón
create.
- En la siguiente página, elige la región de tu
cluster gratuitoen este caso he seleecionadoeu-west-1en Irlanda.
- Ahora pasaremos a la configuración de seguridad, primero seleccionaremos Username and Password y crearemos un nuevo usuario, recuerda las credenciales porque las usaremos próximamente.

- En la sección de abajo elegiremos como conectarnos, en este caso seleccionaremos Cloud Engironment ya que querremos conectarnos desde Heroku, por conveniencia añadiremos la siguiente ip
0.0.0.0/0que permitirá conectarnos desde cualquier IP aunque esto es un problema de seguridad.
- Una vez hayamos configurado nuestro cluster, dentro del Dashboard principal seleccionaremos nuestro cluster (Cluster0) y pulsaremos el botón
Connect. En la ventana modal siguiente pulsaremos Connect your application.
- Por último, vamos a seleccionar de Driver Node.js y como Version 4.0 or later, nos aparecerá una cadena de conexión.

De esta cadena nos interesa coger la siguiente parte:
mongodb+srv://lucferbux:<password>@cluster0.a7ym7.mongodb.net/
Recuerda que hay que sustituir <password> por tu contraseña y que en el campo lucferbux tiene que aparecer el username que has creado antes. Además recuerda que hay que mantener la barra lateral "/" al final de la cadena
Ahora, dentro del proyecto de bbdd o posteriores, vamos a ejecutar el siguiente comando para poblar la bbdd:
make import-atlass -e MONGODB_ATLAS=mongodb+srv://lucferbux:<password>@cluster0.a7ym7.mongodb.net
Sustityuendo la cadena de conexión por la tuya. En este caso la cadena no tendrá la barra lateral "/" al final de la cadena, eso será necesario para la conexión de Heroku. Ahora navegando a la sección de Collections veremos la información en la bbdd.

Heroku
Los pasos de Heroku son similares a los vistos en el anterior despliegue
- Dirígete a la web de heroku y registra una nueva cuenta o accede con alguna creada.
- Crea un nuevo proyecto, con el nombre
node-personal-portfolio-bbddo similar. - Descarga la herramienta heroku cli e instalala en tu ordenador.
- Ejecuta la inicialización de heroku con
heroku login - Añade el repostiorio al espacio de heroku
heroku git:remote -a node-personal-portfolio-bbdd(el nombre es el mismo que hayamos elegido antes). - Ejecuta el comando para usar node en modo desarrollo
heroku config:set NODE_ENV=development - Ejecuta el comando para seleccionar Atlas como uri para el backend
heroku config:set MONGODB_URI=mongodb+srv://lucferbux:<password>@cluster0.a7ym7.mongodb.net/. Cambia el username y el password y recuerda mantener la barra lateral "/". - Ejecuta el comando para seleccionar la bbdd principal
heroku config:set MONGODB_DB_MAIN=portfolio_db
- Crea un nuevo git path para el repositorio ejecutando
git subtree push --prefix backend heroku master