Skip to content

runexec/PossibleDB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PossibleDB

logo.png

PossibleDB is a Database Server built with DataScript, RethinkDB, Clojure, ClojureScript, and NodeJS.

WARNING: HIGHLY ALPHA

PossibleDB demo video
Active Developement Branch
Installing Latest Version
Download Releases
Clojure Client API for all versions
Documentation
Change Log
Important Links
License

PossibleDB Server (latest)

1)git clone https://github.com/runexec/PossibleDB

2)cd PossibleDB/possibledb/

3)npm install rethinkdb

4)chmod +x possibledb.js

5)./possibledb.js {optional port}

Releases

All releases are located here

Clojure Client

Client 1.6 for Server 0.1-6

Leiningen Install

[possibledb-client "1.6"]

API Documentation

(:require [possibledb-client.core :as db])

(db/connect!
 "Connect to a PossibleDB server"
 [host port])

(db/get
 "Returns an entire database."
 [^:String db-name])

(db/q
 "Same q call as in DataScript"
 [^:String db-name
  query-coll])

(db/transact!
 "Same transact! call as in DataScript"
 [^:String db-name
  data-coll])

(db/create-db!
 "Create a PossibleDB db. If schema, same as DataScript."
 ([^:String db-name])
 ([^:String db-name
   ^:HashMap schema]))

(db/destroy-db!
 "Remove a DB and all of it's data"
 [^:String db-name])

(db/backup-db!
 "Writes an EDN representation of a DB to a file"
 [^:String db-name
  ^:String save-file-path])

(db/spawn-db!
 "Create a new database with all the data from original-db-name"
 [^:String original-db-name
  ^:String new-db-name])

(db/reset-db!
 "Destroy a DB and create it again"
 ([^:String db-name])
 ([^:String db-name
   ^:HashMap schema]))
  

Client 1.0 for Server 0.1

Leiningen Install

[possibledb-client "1.0"]

API Documentation

(:require [possibledb-client.core :as db])

(db/connect! [host port])

(db/q
 "Same q call as in DataScript"
 [^:String db-name
  query-coll])

(db/transact!
 "Same transact! call as in DataScript"
 [^:String db-name
  data-coll])

(db/create-db!
 "Create a PossibleDB db"
 [^:String db-name])

Documentation

PossibleDB is the bridge between DataScript and RethinkDB. Please refer to https://github.com/tonsky/datascript

Running Tests


cd possibledb/
npm install chai
lein do cljsbuild clean, cljsbuild once test
chmod +x test.js; ./test.js

Tests are located in possibledb/test/core.cljs. A mini-framework based on latte-chai is used.

Important Links

Datomic - http://docs.datomic.com/

DataScript - https://github.com/tonsky/datascript

RethinkDB - http://rethinkdb.com/

Latte Chai - https://github.com/contentjon/chai-latte

License

Eclipse Public License - v 1.0

About

PossibleDB is a Database Server built with DataScript, RethinkDB, Clojure, ClojureScript, and NodeJS.

Resources

License

Stars

Watchers

Forks

Packages

No packages published