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.
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.
Using the Bitempura in-memory DB compiled to Wasm, we can directly manipulate a bitempura DB and visualize it from the web!
Hosted app TBD. 👀
make install
Bitempura-viz has a simple client-server set up. The server makes temporal histories available for the client to render.
- 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`
- 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.
see Issues.