Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

web-based support/diagnostics UI for any production Datomic service

Notifications You must be signed in to change notification settings

hyperfiddle/datomic-browser

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

308 Commits
308 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Datomic entity browser for prod

This app is an easy way to get a generic web-based support/diagnostics UI for any production Datomic service, with the ability to extend using Clojure to add custom queries, routes, and views.

20260126-datomic-entity-browser-square-2.png Figure: Datomic browser targetting an entity in the mbrainz-full dataset, a music catalogue. Here we inspect the entity for :artist/name "The Beatles" and filter for that artist's releases titled "Yellow Submarine".

10min lightning talk – Conj 2025 (start here!)


Features

Standalone Datomic Browser mode (connect by Datomic URI)

  • Out of the box, a general Datomic entity browser
  • schema views, db-stats, history views, searchable EAVT index, entity navigation, reverse refs, etc
  • large database support, fluent virtual scroll over 50k+ records
  • "It has everything you would want"

Integrated Service Browser mode (service intermediated query)

  • securely embed in your service as a Clojure lib -- no direct Datomic URI connection
  • invoke and navigate your actual service query endpoints (Clojure fns)
  • integrate your secure production ring middlewares for auth, etc
  • custom entrypoint and dependency injection – integrate your standard service dependencies to invoke the service endpoints you already have
  • first class support for PII protection
  • built-in query supervision feature to safeguard against slow queries

By the way, it's only like 300 LOC: datomic_browser2.cljc. Fork it! Program it!

Getting started

Prerequisites

git clone git@github.com:hyperfiddle/datomic-browser.git
cd datomic-browser
./datomic_fixtures_mbrainz_small.sh       # Download Datomic w/ mbrainz dataset
#./datomic_fixtures_mbrainz_full.sh       # optional
./run_datomic.sh
clj -A:dev -M -m datomic-browser.main
# Browse databases: http://datomic.localhost:8080
# Admin dashboard:  http://admin.localhost:8080

# boot with Datomic transactor URI
clj -A:dev -M -m datomic-browser.main datomic-uri 'datomic:dev://localhost:4334/*'

Repl: jack-in with :dev alias, then eval (dev/-main)

License

  • free for individual use on local dev machines, free use requires login to activate (we are a business)
  • deploying in prod at work requires a license, contact us.
  • still working out the details

About

web-based support/diagnostics UI for any production Datomic service

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.