Skip to content

gastonf-dev/ecommerce_catalog_kotlin

 
 

Repository files navigation

Si queres sabes mas sobre mi:

Nestor Marsollier

Catalog Service en Kotlin

Catalo Service en Kotlin del proyecto ecommerce.

El motivo de este proyecto es para poder modelar de otra forma el mismo proyecto para poder mostrar ejemplos académicos.

Es un microservicio que permite manejar el catalogo de artículos, precios y stock, es un proyecto académico, esta simplificado al máximo; que en un ambiente de microservicios, tanto precios como stock deberian llevarse en un microservicio separado.

Documentación de API

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

Dependencias

Auth

El catálogo sólo puede usarse por usuario autenticados, algunas operaciones como agregar un artículo nuevo requieren que el usuario sea "admin", ver la arquitectura de microservicios de ecommerce.

MongoDb

Ver tutorial de instalación en ecommerce en la raíz.

RabbitMQ

La comunicación con Catalog y Auth es a través de rabbit.

Ver tutorial de instalación en ecommerce en la raíz.

Kotlin

Java JDK oracle.com

Gradle gradle.org

Establecer las variables de entorno sujeridas en las instalaciones. Tanto los ejecutables de java, como gradle deben poder encontrarse en el path.

Ejecución del servidor

Se clona el repositorio en el directorio deseado.

Nos paramos en la carpeta donde se encuentra el archivo build.gradle y ejecutamos :

gradle run

La primera vez que ejecute descarga las dependencias, puede tardar un momento.

Apidoc

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

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

Ademas se genera la documentación en formato markdown.

Para que funcione correctamente hay que instalarla globalmente con

npm install apidoc -g
npm install -g apidoc-markdown2

La documentación necesita ser generada manualmente ejecutando la siguiente linea en la carpeta raíz :

apidoc -o www
apidoc-markdown2 -p www -o README-API.md

Esto nos genera una carpeta www con la documentación, esta carpeta debe estar presente desde donde se ejecute el proyecto, aunque se puede configurar desde el archivo de properties.

Configuración del servidor

Este servidor se configura con variables de entorno

SERVER_PORT = Puerto del servidor (3002) AUTH_SERVICE_URL = Servidor Auth (http://localhost:3000) RABBIT_URL = Rabbit (localhost) MONGO_URL = Url de mongo (localhost) WWW_PATH = Path documentación (www)

Este archivo permite configurar parámetros del servidor, ver ejemplos en config-example.json.

Docker

Build

docker build --no-cache -t dev-catalog-kotlin .

El contenedor

# Mac | Windows
docker run -it --name dev-catalog-kotlin -p 3002:3002 -p 4002:4002 -v $PWD:/app dev-catalog-kotlin

# Linux
docker run -it --add-host host.docker.internal:172.17.0.1 --name dev-catalog-kotlin -p 3002:3002 -p 4002:4002 -v $PWD:/app dev-catalog-kotlin

About

No description, website, or topics provided.

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 48.3%
  • Kotlin 30.8%
  • HTML 15.5%
  • CSS 5.2%
  • Other 0.2%