twowaykv
Web server for easy look up of value -> key and key -> value, for integration with big-data graph DB. Uses BadgerDB as underlying store.
![Test Coverage](https://api.codeclimate.com/v1/badges/6577886aa2f88c77bfc2/test_coverage)
Install
go install github.com/dgoldstein1/twowaykv
or
docker pull dgoldstein1/twowaykv:latest
Run it
export GRAPH_DB_STORE_DIR="/tmp/twowaykv" # storage directory
export GRAPH_DB_STORE_PORT="5001" # port served on. Will also use PORT
export GRAPH_DOCS_DIR="./api/*" # location of docs (warning: this entire dir is served up to the browser)
./twowaykv serve
# make example request
curl -X POST -H "Content-Type: application/json" -d '["test1", "test3", "test5", "test6", "test6"]' http://localhost:5001/entries | jq
# retrieve the entries we just created
curl -X POST -H "Content-Type: application/json" -d '["test1", "test3", "test5", "test6", "test6"]' http://localhost:5001/entriesFromKeys | jq
...
# get two random entries
curl localhost:5001/random?n= | jq
[{"key":"test3","value":653544572}]
Development
Local Development
./watch_dev_changes.sh
Testing
go test $(go list ./... | grep -v /vendor/)
Generating New Documentation
pip install PyYAML
python api/swagger-yaml-to-html.py < api/swagger.yml > api/index.html
Authors
License
This project is licensed under the MIT License - see the LICENSE file for details