Giter Site home page Giter Site logo

mikalv / reactivesearch Goto Github PK

View Code? Open in Web Editor NEW

This project forked from appbaseio/reactivesearch

0.0 2.0 0.0 47.42 MB

http://opensource.appbase.io/reactivesearch - A React components library for building awesome :mag: search UIs

Home Page: https://opensource.appbase.io/reactivesearch

License: Apache License 2.0

JavaScript 80.01% CSS 12.89% HTML 7.10%

reactivesearch's Introduction

Join the chat at https://gitter.im/appbaseio/reactivesearch Build Status Image Code Climate

A React components library for building Airbnb / Yelp like search experiences.

TOC

  1. Reactive Search: Intro
  2. Features
  3. Component Playground
  4. Live Examples
  5. Installation
  6. Getting Started
  7. Docs Manual
  8. Developing Locally
  9. Other Projects You Might Like

1. Reactive Search: Intro

Reactive Search is a React components library for building realtime search experiences. It is built on top of the appbase.io realtime DB service and ships with 25+ components for Lists, Dropdowns, Range Sliders, Data Search, Multi Level Menu, Calendars, Feeds Maps, Ratings Filter, Result Cards and Result Lists.

The library is conceptually divided into two parts:

  1. Sensor components and
  2. Actuator components.

Each sensor component is purpose built for applying a specific filter on the data. For example:

  • A SingleList sensor component applies an exact match filter based on the selected item.
  • A RangeSlider component applies a numeric range query based on the values selected from the UI.
  • A RatingsFilter component conveniently applies a ★ ratings filter on a dataset containing ratings like data.

Sensor components can be configured to create a combined query context and render the matching results via an actuator component.

ReactiveSearch primarily comes with two actuators: ResultCard and ResultList. ResultCard displays the results in a card interface whereas ResultList displays them in a list. Both provide built-in support for pagination and infinite scroll views.

Besides these, the library also provides low level actuators (ReactiveElement, ReactiveList) to render in a more customized fashion.

2. Features

Design

  • The sensor / actuator design pattern allows creating complex UIs where any number of sensors can be chained together to reactively update an actuator (or even multiple actuators).
  • The library handles the transformation of the UI interactions into database queries. You only need to include the components and associate each with a DB field.
  • Built in live updates - Actuators can be set to update results even when the underlying data changes in the DB.
  • Comes with a cleanly namespaced CSS classes API that allows extending built-in styles without hassle.
  • Built in light and dark UI themes.

Ease of Use

⬆ Back to Top

3. Component Playground

Try the live component playground at playground. Look out for the knobs section in the playground part of the stories to tweak each prop and see the effects.

4. Live Examples

A set of examples built with ReactiveSearch and inspired by real world apps.

You can check all of them on the examples page.

⬆ Back to Top

5. Installation

Installing ReactiveSearch is just one command.

npm i @appbaseio/reactivesearch

and another to add the stylesheets in the html.

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.98.0/css/materialize.min.css">
<link rel="stylesheet" href="https://cdn.rawgit.com/appbaseio/reactivesearch/master/dist/css/style.min.css">

You can also read about it here.

(In the works) You can try out the library live without any installation via the interactive tutorial.

6. Getting Started

Follow the getting started guide to build a Hello Maps! app from the official docs here.

7. Docs Manual

The official docs for the library are at https://opensource.appbase.io/reactive-manual.

The components are divided into two sections:

⬆ Back to Top

8. Developing Locally

git clone https://github.com/appbasieo/reactivesearch
npm install (or yarn)

Start the development server on port 8000.

npm start (or yarn start)

Examples can be accessed at https://localhost:8000/examples.

9. Other Projects You Might Like

  • ReactiveSearch Dashboard All your Reactive Search related apps (created via interactive tutorial, shared by others, etc.) can be accessed from here.

  • ReactiveMaps is a similar project to Reactive Search that allows building realtime maps easily.

  • appbase-js While building search UIs is dandy with Reactive Search, you might also need to add some input forms. appbase-js comes in handy there.

  • dejavu allows viewing raw data within an appbase.io (or Elasticsearch) app. Soon to be released feature: An ability to import custom data from CSV and JSON files, along with a guided walkthrough on applying data mappings.

  • mirage ReactiveSearch components can be extended using custom Elasticsearch queries. For those new to Elasticsearch, Mirage provides an intuitive GUI for composing queries.

⬆ Back to Top

reactivesearch's People

Contributors

corysimmons avatar dhruvdutt avatar divyanshu013 avatar farhan687 avatar metagrover avatar siddharthlatest avatar

Watchers

 avatar  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.