Skip to content
This repository has been archived by the owner on Nov 20, 2024. It is now read-only.

nmarsollier/ecommerce_image_node

Repository files navigation

Si queres sabes mas sobre mi:

Nestor Marsollier

Microservicio de Imágenes

Este microservicio recibe y almacena imágenes en formato base64 en una base de datos redis.

Si bien esta desarrollado con fines académicos, si se refinan los detalles puede utilizarse en producción.

El cliente puede solicitar las imágenes en distintos tamaños, cada tamaño se ajusta y se guarda en la base de datos para una mejor velocidad de acceso en futuras llamadas.

Las imágenes pueden recuperarse en formato base64 o bien en formato jpeg.

Documentación de API

La documentación de las api se pueden consultar desde el home del microservicio que una vez levantado el servidor se puede navegar en localhost:3001

Dependencias

Auth

Las imágenes solo pueden subirse y descargarse por usuarios autenticados, ver la arquitectura de microservicios de ecommerce.

Node 10.15

Seguir los pasos de instalación del sitio oficial nodejs.org

Redis

Las imágenes se almacenan en una instancia de Redis. Seguir los pasos de instalación desde la pagina oficial redis.io

No se requiere ninguna configuración adicional, solo levantarlo luego de instalarlo.

Tambien se puede instalar usando docker, ver notas en ecommerce

RabbitMQ

Solo usuarios autorizados pueden subir y descargar imágenes. El microservicio Auth es el que identifica usuarios. Auth notifica con un broadcast los logouts en la aplicación para que se vacíen los caches locales de usuario.

Seguir los pasos de instalación en la pagina oficial de RabbitMQ

No se requiere ninguna configuración adicional, solo levantarlo luego de instalarlo.

Tambien se puede instalar usando docker, ver notas en ecommerce

Ejecución

Abrir ventana de comandos en la carpeta del microservicio y ejecutar :

npm install
npm start

Apidoc

Apidoc es una herramienta que genera documentación de apis para proyectos node (ver Apidoc).

El microservicio auth muestra la documentación como archivos estáticos si se abre en un browser la raíz del servidor localhost:3001

Ademas se genera la documentación en formato markdown.

Archivo .env

Este archivo permite configurar diversas opciones de la app, ver ejemplos en .env.example

Docker para desarrollo

Build

docker build --no-cache -t dev-image-node .

El contenedor

# Mac | Windows
docker run -it --name dev-image-node -p 3001:3001 -v $PWD:/app dev-image-node

# Linux
docker run -it --add-host host.docker.internal:172.17.0.1 --name dev-image-node -p 3001:3001 -v $PWD:/app dev-image-node

About

Microservicio de procesamiento de imagenes en node

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published