{"id":13553841,"url":"https://github.com/arso-project/sonar","last_synced_at":"2025-04-03T05:31:47.108Z","repository":{"id":38095919,"uuid":"213627737","full_name":"arso-project/sonar","owner":"arso-project","description":"A p2p content database and search engine","archived":false,"fork":false,"pushed_at":"2022-10-28T10:26:00.000Z","size":1778,"stargazers_count":124,"open_issues_count":25,"forks_count":6,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-26T11:01:41.753Z","etag":null,"topics":["database","hypercore-protocol","kappa-architecture","p2p","search-engine","tantivy"],"latest_commit_sha":null,"homepage":"https://sonar.arso.xyz/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arso-project.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-08T11:47:10.000Z","updated_at":"2024-11-11T22:23:36.000Z","dependencies_parsed_at":"2023-01-19T15:04:53.156Z","dependency_job_id":null,"html_url":"https://github.com/arso-project/sonar","commit_stats":null,"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arso-project%2Fsonar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arso-project%2Fsonar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arso-project%2Fsonar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arso-project%2Fsonar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arso-project","download_url":"https://codeload.github.com/arso-project/sonar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246802624,"owners_count":20836373,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","hypercore-protocol","kappa-architecture","p2p","search-engine","tantivy"],"created_at":"2024-08-01T12:02:34.594Z","updated_at":"2025-04-03T05:31:42.094Z","avatar_url":"https://github.com/arso-project.png","language":"JavaScript","readme":"\u003ch1 align=\"center\"\u003esonar\u003c/h1\u003e\n\u003cdiv align=\"center\"\u003e\n \u003cstrong\u003e\n   A p2p database and search engine running on top of the dat stack.\n \u003c/strong\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\nThis is the main repository of Sonar. The usual setup is that you run `sonar-server` on localhost and then interact with Sonar through the [client](sonar-client/REAMDE.md), the UI running on [http://localhost:9191](http://localhost:9191) or the [CLI](sonar-cli/README.md). The CLI can be invoked with `./sonar` from the root of this repository, and is also used to start the server.\n\nThe **[Docs website](https://sonar.dev.arso.xyz)** has more documentation (WIP).\n\n## Installation\n\nSonar requires Node.js version 16 or higher. If your system ships an older version, you can use a tool like [NVM](https://github.com/nvm-sh/nvm) to install an up-to-date version. On Debian-based system, you can also try the Node.js distributions from [Nodesource](https://github.com/nvm-sh/nvm).\n\nYou can check your Node.js version by running `node --version` on a command-line.\n\nAfterwards, install Sonar with the following command:\n```sh\nnpm install -g @arsonar/server\n```\n\nYou  can then run the `sonar` command-line interface. With this, you can both start the server and interact with it from the command-line.\n```sh\n# show help\nsonar help\n# show help for specific commands\nsonar help collection\n# start a server\nsonar start\n```\n\n## Development\n\n\u003e Note: At the moment [yarn 1](https://classic.yarnpkg.com/) is recommended, please [install it according to the instructions](https://classic.yarnpkg.com/en/docs/install#debian-stable).\n\n```sh\n# clone the sonar repository\ngit clone https://github.com/arso-project/sonar.git\ncd sonar\n# install dependencies of all workspaces\nyarn\n# build the typescript modules and bundle the UI\nyarn run build\n```\n\nYou can start sonar with `./sonar` from the repository root.\n\nIf the start fails with errors related to `sonar-tantivy`, try to redownload or rebuild sonar-tantivy (the search engine included in sonar):\n\n```\nyarn run rebuild:tantivy\n```\n\nIf the start fails with errors related to `client`, try to rebuild client :\n\n```\nyarn run build:client\n```\n\n```sh\n# start the sonar server\n./sonar start\n\n# start the sonar server in dev mode\n./sonar start --dev\n\n```\n\n## Running the examples\n\nThis repo includes a few examples. To run them locally, do the following:\n\n```sh\n# build the typecript modules\nyarn build\n# start sonar\n./sonar start --disable-authentication --dev\n# run the example from the examples/ folder\nyarn example react\n```\n\n## Using the CLI\n\nRun `./sonar help` for a list of supported commands.\n\n## Contributing\n\nSonar is a young open source project and all kinds of contributions are welcome. We're in the process of writing up more documentation and overviews of how things work and come together (in a [book](https://github.com/arso-project/sonar-book)).\n\nIf in doubt, talk to us! For example on IRC in #dat on freenode (or in the browser through [gitter](https://gitter.im/datproject/discussions).\nMore on this project on [arso.xyz](https://arso.xyz).\n\n## Repo layout\n\nThe repo is structured as a monorepo of different packages (that are interdependent at several points).\n\n- **[core](packages/core/README.md)** it the core module. It manages _collections_, which are our notion of \"a group of feeds\\*. Each collection has a [kappa-record-db](https://github.com/arso-project/kappa-record-db) that's plugged into a search index through [tantivy](https://github.com/arso-project/packages/tantivy). Each collection has also a list of associated [Hyperblobs](https://github.com/andrewosh/hyperblobs) to store raw file contents.\n\n- **[server](packages/server/README.md)** provides a REST style HTTP api that's used both by the CLI and the UI to access and manage the data in packages/core.\n\n- **[client](packages/client/README.md)** is a Javascript client library. It's used by both the CLI and the UI. It speaks to packages/server over HTTP.\n\n- **[ui](packages/ui/README.md)** is a single-page application to browse data in Sonar.\n\n- **[cli](packages/cli/README.md)** is a command-line application. It can manage collections, put and get into the database, upload and download files, and make search queries.\n\n## Support\n\nThis project was kindly supported by [NLNet](https://nlnet.nl) in the Next Generation Search \u0026 Discovery program.\n\n![logo](https://nlnet.nl/image/logo_nlnet.svg)\n","funding_links":[],"categories":["JavaScript","database"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farso-project%2Fsonar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farso-project%2Fsonar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farso-project%2Fsonar/lists"}