explaingit

appbaseio/dejavu

8,461JavaScriptAudience · developerComplexity · 2/5Setup · moderate

TLDR

Browser-based visual interface for Elasticsearch that lets you browse, filter, add, edit, and delete data without writing any queries by hand.

Mindmap

mindmap
  root((dejavu))
    What it does
      Browse index data
      Filter by field type
      Add and edit records
      Real-time updates
    How to run
      Chrome extension
      Elasticsearch plugin
      Hosted static page
    Tech stack
      JavaScript
      Elasticsearch
      WebSocket
    Audience
      Developers
      Data engineers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Browse and filter records stored in an Elasticsearch index using auto-generated visual controls for each field type.

USE CASE 2

Add, edit, or delete Elasticsearch documents from a web page instead of writing raw API requests.

USE CASE 3

Monitor real-time data changes in an Elasticsearch index without refreshing the page.

Tech stack

JavaScriptElasticsearchWebSocketChrome Extension

Getting it running

Difficulty · moderate Time to first run · 30min

Elasticsearch must be configured with CORS settings before a browser page can connect to it.

In plain English

Dejavu is a browser-based interface for Elasticsearch, a search and data indexing system used by many applications behind the scenes. If you are working with an Elasticsearch database, dejavu lets you browse your stored data, filter it, add new records, edit existing ones, and delete records, all from a visual web page rather than writing raw queries by hand. The interface loads data with infinite scrolling rather than page-by-page navigation. When you browse a data set, dejavu reads the structure of your Elasticsearch index and builds filters that match each field type: text fields get search and match filters, number fields get range options, and date fields get date range selectors. You can also hide columns and sort by any column to focus on what matters. Dejavu updates the view in real time. If data in your index changes while you are looking at it, the display reflects those changes without a page reload. This feature requires a WebSocket-capable API layer, the README notes it works with the appbase.io hosting service. You can run dejavu in three ways: as a Chrome browser extension, as a plugin installed into your Elasticsearch server, or as a static hosted page you visit in any browser. The README walks through the configuration steps for each option, including the CORS settings Elasticsearch needs to allow a browser page to connect to it.

Copy-paste prompts

Prompt 1
I have an Elasticsearch index and want to browse its data visually. How do I connect dejavu to it and set up the required CORS settings?
Prompt 2
Using dejavu, how do I filter records where a date field falls within a specific range and a number field is above a threshold?
Prompt 3
I want to run dejavu as a Chrome extension pointing at my local Elasticsearch cluster. Walk me through the setup steps.
Prompt 4
How do I install dejavu as a plugin directly into my Elasticsearch server so I can access it from the Kibana-style URL?
Open on GitHub → Explain another repo

← appbaseio on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.