Giter Club home page Giter Club logo

catalog's Introduction

Product Catalog Service

The Product Catalog Service is implemented as a multi-module project containing the following modules:

  1. catalog-core contains the bulk of the service implementation, including domain model, the REST service itself, as well as the data repository abstraction and its in-memory implementation;

  2. catalog-coherence contains the data repository implementation for Coherence backend

  3. catalog-mongo contains the data repository implementation for MongoDB backend;

  4. catalog-mysql contains the data repository implementation for MySQL backend (using JPA).

  5. catalog-redis contains the data repository implementation for Redis backend (using Redisson client).

API

The service exposes REST API on port 7001.

TBD (add OpenAPI support/link)

Building the service

In order to build all the modules and create Docker images for the service, simply run the following commands inside the top-level catalog directory:

$ mvn clean install
$ mvn package -Pdocker -DskipTests

The first command will build all the modules, run unit and integration tests, and install the artifacts that need to be included into the Docker images into the local Maven repo.

The second command will then package those artifacts, and all of their dependencies, into the local Docker image with the same names as the corresponding module (one image per module).

You can then manually push generated image to a Docker repository of your choice in order to make it available to other environments.

Alternatively, you can build and push the image directly to a remote Docker repository by running the following command instead:

$ mvn package -Pdocker -DskipTests -Ddocker.repo=<your_docker_repo> -Djib.goal=build

You should replace <your_docker_repo> in the command above with the name of the Docker repository that you can push images to.

Running the service

Please refer to documentation for the individual modules above to find out how to run different implementations of this service, including the backends they require, for local testing.

To learn how to run the service in Kubernetes, as part of a larger Sock Shop application, please refer to the main documentation page.

License

The Universal Permissive License (UPL), Version 1.0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.