Skip to content

inveniosoftware/react-searchkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

761a35b · Feb 7, 2025
Feb 7, 2025
Feb 7, 2025
Aug 13, 2019
Feb 7, 2025
Mar 29, 2022
Aug 25, 2023
Mar 29, 2022
Oct 10, 2024
Oct 8, 2019
Feb 7, 2025
Nov 7, 2018
Feb 7, 2025
Feb 7, 2025
May 15, 2020

Repository files navigation

React-SearchKit

Build status Release License Downloads

React-SearchKit is a React library that allows you to build in an easy way your search application.

Main features:

  • ready-to-use collection of UI components
  • configurable REST API endpoint and serialization
  • configurable URL parameters handling for deep linking

React-SearchKit screenshot

Examples

You can find a collection of examples in the src/demos folder:

  • OpenSearch, an example on how to query OpenSearch (see below)
  • Zenodo.org, an example on how to query an Invenio 3 instance
  • CERN Videos, another Invenio 3 example

Install dependencies and run the React app to try them out (see steps below).

OpenSearch

To run the OpenSearch backend for the demo, you can use Docker. A docker-compose file with ES 7 and nginx as reverse proxy is available and ready to use. Run the services:

cd src/demos/opensearch/docker
docker-compose up

Then, init the demo data:

curl -XPUT 'http://localhost:9200/random?pretty' -H 'Content-Type: application/json' -d @os2-mappings.json
curl -XPOST 'http://localhost:9200/random/_bulk' -H 'Content-Type: application/json' --data-binary @os-random-data.json
curl -XGET 'http://localhost:9200/random/_count?pretty'

Demo data have been randomly generated using https://next.json-generator.com.

Delete data in the cluster: curl -X DELETE 'http://localhost:9200/_all'

Developer guide

React-SearchKit uses create-react-app as development toolkit.

Install the library:

npm install

Start the demo application:

npm start

The library uses Jest as test runner. To run the tests:

npm test

The library uses rollup to build a final version inside the /dist folder and it will build CommonJS and ES Modules versions:

npm run build