Explore and manipulate zero-knowledge, cloud-based Crypton key/value databases.
Cryptonaut demonstrates a simple mapping of the fundamental Backbone elements - collections and models - onto Crypton's corresponding containers and entries. This mapping is handily deployed as a tool for navigation and manipulation of any Crypton data stores to which you have authorized access.
The app infrastructure is shamelessly stolen from Tommy-Carols Williams Encryptr. We build upon his implementation, with the addition of Ken's folders work.
It is currently aimed to work on iOS, Android, and the Desktop – thanks to node-webkit – but there are no reasons why it could not by expanded to Blackberry10 and Windows Phone 8.
- Cordova CLI - https://github.com/apache/cordova-cli/
- Cordova / PhoneGap command line interface
- Grunt - http://gruntjs.com/
- Build tool for minimising, running and tests
- Node and npm - http://nodejs.org/
- Node package manager for Grunt Add-ons
- PhantomJS - http://phantomjs.org/
- Headless webkit for running tests
- clone the project
- cd into the project folder
npm installto install node_modules and js/css components (npm installwill also runbower install).cordova platform add iosand/orcordova platform add androidnpm run pluginstallto install any plugins needed
To make sure everything is set up from the above, run your first tests:
grunt test
See the output for the steps taken to produce the working test rig. Most of the steps have grunt commands you can use to do them individually.
JavaScript files are in src. They are kept out of the www tree so that they can be linted without trying to lint the concatenated and minified versions. However, the index.html should have a script tag only for the JavaScript files in either components (managed by Bower) or www/js.
Building and testing the project is normally done via the Grunt tasks below.
We use grunt commands to do most of the project operations, like:
-
running the app: ** ios:
grunt debug:ios** Android:grunt debug:android -
testing:
grunt test -
linting the sources:
grunt jshint -
concatenating the sources:
grunt concat -
compiling the templates:
grunt dot
See the steps taken for grunt test and grunt debug:XXX for the various operations needed to constitute the working app, and look at Gruntfile.js for the whole repertoire.