Persistencia de Datos con Node.js y PostgreSQL usando Docker

Clase 2 de 27Curso de Backend con Node.js: Base de Datos con PostgreSQL

Resumen

¿Cuál es el proyecto que estamos desarrollando?

Estamos embarcándonos en la creación de un excelente proyecto: una tienda virtual. El objetivo es desarrollar el API completa de esta tienda, una tarea vital para cualquier desarrollador que desee entender cómo funciona el backend de aplicaciones complejas. En el curso anterior, nos ocupamos de controlar el routing y establecimos una capa de servicios. Sin embargo, hasta este punto todo esto permanecía en memoria. Ahora, en esta etapa del curso, buscamos ir más allá y aprender cómo hacer que estos datos persistan.

¿Cómo empezar con el proyecto?

Es fundamental contar con todo el setup inicial del proyecto. Si has seguido este curso desde el principio, es probable que ya tengas el proyecto configurado. Pero no te preocupes, si no es así, puedes clonar el proyecto desde el repositorio "curso Node.js Postgres" en Platzi.

Pasos para clonar el repositorio

  1. Abre la terminal.
  2. Ejecuta el siguiente comando para clonar el repositorio:
    git clone <URL-del-repositorio>
    
    Puede que desees cambiar el nombre de la carpeta por algo más amigable, como mystore-data:
    git clone <URL-del-repositorio> mystore-data
    
  3. Accede a la carpeta clonada:
    cd mystore-data
    

¿Qué incluye el proyecto inicial?

Al clonar el repositorio, tendrás acceso a un proyecto con lo siguiente preconfigurado:

  • Servicios para categorías, órdenes, y productos. Hasta ahora, con persistencia solo en memoria.
  • Routing avanzado para órdenes y usuarios que conectan eficazmente con los servicios.
  • Métodos base para gestionar datos: nuestro objetivo es ir más allá y empezar a implementar la persistencia real.

Instalar dependencias y comprobar el funcionamiento

  1. Instala las dependencias del proyecto:
    npm install
    
  2. Ejecuta la aplicación en modo desarrollo utilizando NodeMon:
    npm run dev
    
    Esto te permitirá probar los endpoints como usuarios, productos y categorías usando herramientas como Insomnia.

¿Por qué usar Docker para la base de datos?

Los proyectos modernos requieren una conexión fiable a bases de datos relacionales como Postgres, MySQL o MariaDB. Para facilitar este proceso sin complicaciones ni la necesidad de instalar drivers en tu máquina, Docker se convierte en nuestro mejor aliado.

Ventajas de usar Docker

  • Facilidad de uso: Fácil instalación y configuración de entornos complejos.
  • Portabilidad: Los contenedores Docker pueden ser movidos y ejecutados en diferentes sistemas.
  • Consistencia: Permite mantener un entorno constante, reduciendo las diferencias de comportamiento en diversos entornos de desarrollo.

Nos adentraremos en esta herramienta en las próximas clases, asegurando que tengas un entorno de desarrollo completo y funcional. ¡Continúa aprendiendo y expandiendo tus habilidades en desarrollo backend!