klevultd / frontend-sdk Goto Github PK
View Code? Open in Web Editor NEWMonorepository for Klevu headless
Home Page: https://www.klevu.com
License: MIT License
Monorepository for Klevu headless
Home Page: https://www.klevu.com
License: MIT License
Simple SDK to do search to Klevu API
Required features
Pagination should have easy to use API that takes caches and applies filters automatically for better performance.
As described in title.
Make change to KlevuFetch
in a way that it allows to use window.fetch
instead of axios library.
If the whole KlevuFetch function is the same as before we should return result from local memory cache.
Create nuxt demo that mimics vue demo.
Recommendation web component pulls data from given KMC recommendation ID and it creates horizontal swiper component from products fetched by @klevu/core
It is preferred that no external UI libraries is used to create this component.
Crete a demo based on react app that is for next.
Implement simple to use functions to get recommendations from the Klevu API
If personalisation()
modifier is used and there is no previous user click data available then request will fail.
see KMC
Simple API to fetch data for category navigation.
Should implement helper function that fetches filters has ability to paginate category navigation fetches.
When you enable a filter (say color: blue) and change to a different category, the blue filter is still selected.
There was a fix submitted, but after QA the same issue is still there.
In addition:
There are videos that show these issues in Jira.
Jira: KS-12397
Implement class for easier event reporting.
On the QA site, the load more button is still present when no results.
Jira issue: KS-12466
A simple product component taking in KlevuRecord from @klevu/core
and rendering a HTML output from that.
Component should be as extensible as possible so that developers can easily change the way it renders.
Create a tool that can take filters and handle their current selection. This model should be passable to search queries in order to make handling easier.
Currently calling next()
page will automatically try to detect which of the queries should be paginated. That is not optimal way of it working.
We need to move next()
to same level as sendEvent functions in the result so that developer explicitly selects which of the queries they wish get next page from.
Old function should be @deprecated in documentation and then removed in next version.
bring the Klevu SDK into an Unreal game
Instead of having add:
document.addEventListener(
KlevuDomEvents.FilterSelectionUpdate,
handleFilterUpdate
)
onBeforeRouteLeave((to, from, next) => {
document.removeEventListener(
KlevuDomEvents.FilterSelectionUpdate,
handleFilterUpdate
)
})
Could we do something like:
const removeFilterSelectionUpdate = KlevuDomEvents.addFilterSelectionUpdate(usersFilterUpdateHandler)
usersFilterUpdateHandler & removeFilterSelectionUpdate can be called anything, and this would allow the implementation to require less boiler plate.
Currently recommendations are created in Klevu Merchant Center and the data coming in is plain HTML and Javascript that should be injected using Klevu JSv2 library.
In milestone 1.0.0 we support only fetching recommendations through the API and KMC based builder is not available.
In milestone 2.0.0 we give a way to inject JSv2 into website and init these banners. Banners are loaded through the library.
After these in the next version we should build up provide JSON output from KMC that it's easier to build UI builder with any library.
sendSearchEvent() modifier should not be used when issuing a search request for quick search.
We need to clean and format incoming data. For example slider filter min/max values are coming in as string even though they are numbers in reality.
There are multiple cases this happens. There are also boolean values coming from API "true" or "false" strings.
Hi, we are using the @klevu-core v1.1.0 for the project, developed using React, as a dependency and we have a problem with filter options.
I wanted to ask for some suggestions or information about these issues if they are currently in development
Default id persists even though custom id is defined.
For example:
await KlevuFetch(
trendingCategoryProducts("cat", { id: "test" })
)
Results will be with id trendingCategoryProducts
As it's most generic event that we can use to track all click events. Not just the ones that are coming from search.
Currently Axios is used to send analytical events to server. Axios support should be kept for Node.js functionality, but for browser side Beacon API should be used to prevent missing events.
https://calendar.perfplanet.com/2020/beaconing-in-practice/
V1 cannot use Beacon API as it requires POST message to be sent.
Klevu Api supports to boost queries with another queries.
Some of the query functions do not have all search params definable. For example it is impossible to set fields to trendingCategoryProducts()
Steps to reproduce:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.