Tienda en línea: instalación del proyecto

3/20
Recursos

Aportes 6

Preguntas 6

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Holaaa 😄
Aca dejo el link del proyecto curso-nodejs-auth
__

git clone https://github.com/platzi/curso-nodejs-auth.git

Correr los videos 1.25 creo que va como piña jaja

la pagina pgadmin no trae la base de datos, curso a medias. =(

en el proyecto esta un archivo docker-compose.yml que utiliza una carpeta local en el directorio del proyecto, esto en terminos de rendimiento no es acosejable ya que docker iniciará los contenedores como servicios siempre que se inicie (si usas docker en windows cuando abras el cliente de coker o si lo activas para que inicie con windows, si usas linux al activar el servicio de docker para que inicie automáticamente) y al depender del volumen local puede traer problemas. lo mejor es usar los volumenes de docker.

Les dejo mi archivo docker-compose.yml que utiliza este metodo y ademas usa variables dntorno (las que usamos en el archivo .env del proyecto)

Adicionalmente estoy utilizando phppgadmin como gestor para postgress pero pueden sustituirlo por pgadmin sin problema

version: '3.3'

services:
  db:
    container_name: db
    image: 'postgres:${TAG}'
    restart: always
    environment:
      POSTGRES_DB: ${DB_NAME}
      POSTGRES_USER: ${DB_USER}
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    ports:
      - 5432:5432
    volumes:
      - dbdata:/var/lib/postgresql/data
    networks:
      - app-network

  dbmanager:
    image: bitnami/phppgadmin:7
    restart: always
    environment:
      DATABASE_HOST: db
      DATABASE_PORT_NUMBER: ${DB_PORT}
      DATABASE_SSL_MODE: allow
      ALLOW_EMPTY_PASSWORD: yes
    ports:
      - 8081:8080
    depends_on:
      - db
    networks:
      - app-network

#Docker Networks
networks:
  app-network:
    driver: bridge
#Volumes
volumes:
  dbdata:
    driver: local

mi archivo .env es este


NODE_ENV="development"
TAG=13
PORT=3000
DB_NAME="my_store"
DB_USER="admin123"
DB_PASSWORD="admin123"
DB_HOST="localhost"
DB_PORT="5432"

Sigo usando las variables separadas porque son necesarias para usarlas en el archivo decker-compose.yml

Repositorio del proyecto base: https://github.com/platzi/curso-nodejs-auth/tree/1-init

Clonando código base e instalando dependencias: git clone https://github.com/platzi/curso-nodejs-auth.git my-store-auth

Crear variables de entorno propias:

PORT=3000
DATABASE_URL='postgres://platzinautas:[email protected]:5432/my_store'
  • Levantar BD en docker: docker-compose up -d postgres (importante crear la carpeta postgres_data).
  • Levantar gestor gráfico de BD: docker-compose up -d pgadmin.
  • Ver contenedores activos: docker-compose ps.
  • Correr la primera migración (ya creada): npm run migrations:run


En Insomnia se pueden crear ambientes (producción, desarrollo, etc.), para ello se hace click en la parte del cuadro verde e ir a Manage Environments, o bien presionar Ctrl E.

En donde dice Sub Environments, presionar en el ícono de +.

Se añade un nombre al nuevo ambiente, color al gusto e insertar variables de ambiente como en el siguiente ejemplo:

Click en Done y listo, ahora es posible hacer un switch entre ambientes. Para usar la variable creada basta con escribir guion bajo _ en la URL y aparecerá la variable disponible.

De este modo es más fácil configurar un entorno de desarrollo y/o producción sin tener que hacer cambios en la URL cada vez que deseemos apuntar a una URL de producción o desarrollo.

Si usas postman, tambien tienes la opcion de crear variables de entorno…