Giter VIP home page Giter VIP logo

vc-module-experience-api's Introduction

The project "Experience API" it is primarily a intermediated layer between clients and enterprise services powered by GraphQL protocol and is tightly coupled to a specific user/touchpoint experience with fast and reliable access, it represents an implementation of Backend for Frontend design pattern (BFF).

The context diagramm

image

Key features

  • “Experience API” project at beginning consists from these three functional blocks :

  • Use GraphQL protocol to leverage more selective and flexible control of resulting data retrieving from API

  • Fast and reliable indexed search thanks to integration with ES 7.x and single data source for indexed search and data storage. (<= 300ms)

  • Autonomy. Shared nothing with rest VC data infrastructure except index data source.

  • Tracing and performance requests metrics

Prerequisities

  • VC platform 3.0 or later
  • The platform is configured to use ElasticSearch engine

appsettings.json

"Search": {
        "Provider": "ElasticSearch",
        "Scope": "default",       
        "ElasticSearch": {
            "Server": "localhost:9200",
            "User": "elastic",
            "Key": "",
            "EnableHttpCompression": ""
        }
    },
  • The settings “Store full object in index modules” are enabled for catalog and pricing modules: image image

  • Rebuild index

Digital catalog experience API - Getting started.

The sample requests:

{
  product(id: "0f7a77cc1b9a46a29f6a159e5cd49ad1")
  {
    id
    name

    properties {
      name
      type
      values
    }
  }
  
  products(query: "sony" fuzzy: true filter: "price.USD:(400 TO 1000]")
  {
    totalCount
   	items {
       name
       id
       prices (currency: "USD") {
        list
        currency
      }
    }
  } 
}

Recommendations gateway API - Getting started.

  recommendations(scenario:"vc-recommendations" after: "10" first: 5 itemId: "8b7b07c165924a879392f4f51a6f7ce0") 
  {
    items
    {
      scenario      
      product
      {
        id
        name       
      }
    }
  }

vc-module-experience-api's People

Contributors

tatarincev avatar

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.