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.
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
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.
Ver tutorial de instalación en ecommerce en la raíz.
La comunicación con Catalog y Auth es a través de rabbit.
Ver tutorial de instalación en ecommerce en la raíz.
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.
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 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.
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 --no-cache -t dev-catalog-kotlin .
# 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