Skip to content

elh/bitempura-viz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bitempura-viz 🔮

Bitempura-viz visualizes the 2D valid time and transaction time history in a Bitempura database.

Bitemporality provides attractive data integrity and querying properties, but actually implementing and reasoning about it can be quite confusing. The nifty convention of visualizing the underlying records in a 2D chart was established as early as Richard T. Snodgrass's writings, but in the course of researching temporal databases, I found it to be underutilized. I created this tool to make these charts a first class artifact for building and sharing Bitempura.

Usage

Debugging Tests 🧪

The original use case was to serve as a visual debugging tool for the development of Bitempura. Bitempura tests write TestOutput files which contain the temporal history for relevant keys. This app must be provided those files at start up.

test list bitempura

Interactive Mode 🪄

Using the Bitempura in-memory DB compiled to Wasm, we can directly manipulate a bitempura DB and visualize it from the web!

bitempura

Hosted app TBD. 👀

Installation

make install

Running Locally

Bitempura-viz has a simple client-server set up. The server makes temporal histories available for the client to render.

  1. Start the Express server w/ TEST_OUTPUT_DIR env var set to a path to a Bitempura _testoutput/ dir to visualize.
make run-server
# or `make run-server-nodemon`
  1. Start the React web app. Navigate to it at http://localhost:3000/.
make run-client
# run without backend
REACT_APP_USE_FIXTURES=true make run-client

See Makefile for more context.

Enhancements?

see Issues.