Skip to content
A p2p content database and search engine
JavaScript CSS
Branch: master
Clone or download
Latest commit e8c8c4c Nov 19, 2019

Sonar 📡

Sonar is a p2p database and search engine running on top of the dat stack.

Getting started

To get started, clone this repository and then:

# install dev dependencies
npm install
# let lerna install the dependencies of all modules
npm run bootstrap
# start sonar-server and sonar-ui
npm start

Usually during development, you'd start the services seperately:

# start sonar-server
cd sonar-server; npm start
# start sonar-ui
cd sonar-ui; npm start

Then, you can:

  • open the web UI on http://localhost:9191.
  • use the CLI:
    cd sonar-cli
    node cli
    node cli fs ls
    # etc.
    # the cli has a built-in help that should list the available commands

Repo layout

This repo includes several modules. Currently, they are not yet published on npm individually.

  • sonar-dat connects a hyper-content-db with a search index through sonar-tantivy. We call these things islands.

  • sonar-server this is where everything comes together. manages islands (databases), listens for connections in the p2p network, and starts an HTTP server on localhost to interact with databases, files and search indexes.

  • sonar-client is a Javascript client speak to sonar-server over HTTP.

  • sonar-ui is a single-page application that talks to sonar-server and allows to search and browse files (soon also manage schemas and islands).

  • sonar-cli is a command-line application that uses sonar-client to talk to sonar-server

You can’t perform that action at this time.