Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tatut/xtdb-inspector
Web UI for inspecting XTDB (v1) database
https://github.com/tatut/xtdb-inspector
Last synced: 3 days ago
JSON representation
Web UI for inspecting XTDB (v1) database
- Host: GitHub
- URL: https://github.com/tatut/xtdb-inspector
- Owner: tatut
- License: mit
- Created: 2021-10-03T05:10:05.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-08-09T22:32:18.000Z (6 months ago)
- Last Synced: 2025-01-14T16:23:56.904Z (10 days ago)
- Language: Clojure
- Homepage:
- Size: 17.6 MB
- Stars: 93
- Watchers: 7
- Forks: 7
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# xtdb-inspector
![test workflow](https://github.com/tatut/xtdb-inspector/actions/workflows/test.yml/badge.svg)
Web UI for inspecting XTDB database
Demo:
Browsing documents and showing history:
![Demo screen recording of document browsing](demo/demo-doc.gif)
Query viewer and saved queries:
![Demo screen recording of queries](demo/demo-query.gif)
## Running
To simply try it out, start repl with `:dev` alias:
- eval `(start)` in your REPL
- eval `(some-docs)` in your REPL to generate test docs
- open [http://localhost:3000/doc/%3Ahello](http://localhost:3000/doc/%3Ahello) in browserOther way is to embed in an existing web application that
uses XTDB. The `xtdb-inspector.core/inspector-handler` returns
a ring handler. See monitoring below for config that needs to
be added to the XTDB node.## Monitoring
To enable the UI access to the XTDB monitoring, configure the
monitoring reporter in the XTDB node config:```
:xtdb-inspector.metrics/reporter {}
```## Custom URI prefix
Sometime (e.g., when embedding `xtdb-inspector` in another web application) there is a need for having all of its URLs prefixed. Simply set the environment variable `XTDB_INSPECTOR_URI_PREFIX`:
- run `export XTDB_INSPECTOR_URI_PREFIX=/_inspector` in your shell
- eval `(start)` in your REPL
- eval `(some-docs)` in your REPL
- open [http://localhost:3000/_inspector/doc/%3Ahello](http://localhost:3000/_inspector/doc/%3Ahello) in a browser.## Changes
### 2023-01-25
- Support for `:in` arguments in queries### 2022-11-23
- Format metrics numbers with NumberFormat### 2022-10-25
- Support custom URI prefix### 2022-10-19
- Fix nested pull problem in query page### 2022-10-18
- Support exporting query to EDN file### 2022-10-17
- Add `:allow-editing?` configuration option (default: `true`) for disabling doc edit functionality
- Support `:wrap-page-fn` that wraps any page rendering with a custom fn### 2022-08-10
- Show latest transaction first by default### 2022-07
- Dashboard page
- Graphs for attribute values### 2022-06-29
- Pretty print EDN values (better coloring and layout)### 2022-06-27
- Add new page for transaction log
- Document view can expand linked docs inline### 2022-06-21
- FIXED Attribute name in URL is encoded, so attributes with URL characters (like ?) work
- Add convenience button to document page to copy the doc id to clipboard### 2022-06-17
- Tables now have filtering and ordering
- Attribute values page limits to 100 items (with button to fetch more)
- Remember last run query in editor page### 2022-04-13
- Add `java.time.Instant` display and editing
- Allow adding new attributes and creating documents### 2022-03-26
- Better display end edit non-EDN values (`java.time` types)### 2021-10-28
- Add top bar navigation with search. Can query lucene index to find docs.
- Directly navigate to saved query by name (`/query/`) to load it
- New attribute page that shows attributes and their values
- Document page can now do simple edits to the values