Open Source GeoSocial Intelligence Framework
DOI for current stable release v2.0.0:
The platform runs on the open source software known as CogniCity. This GeoSocial Intelligence framework allows data to be collected and disseminated by community members through their location-enabled mobile devices to map information about flooding and water infrastructure in real-time.
We use Grunt with various third-party tasks to work with the site's source code. It's how we build the site, run tests, and more. To use it, install the required dependencies as directed and then run it from the command line.
From the command line:
grunt-cli
globally with npm install -g grunt-cli
./cognicity-rem-web
directory, then run npm install
. npm will look at package.json and automatically install the necessary local dependencies listed there.When completed, you'll be able to run the various Grunt commands provided from the command line.
Unfamiliar with npm? Don't have node installed? That's a-okay. npm stands for node packaged modules and is a way to manage development dependencies through node.js. Download and install node.js before proceeding.
grunt
Run grunt
to build the whole site, with the resulting files placed in the build/
directory.
grunt assets
Run grunt assets
to compile the site's CSS and JS files into single, minified files.
grunt site
Fill in the site's HTML templates with strings for each of the various translations available, with the output in /build/:language
.
grunt dev
Update assets from the already built site to aid development. Copies un-minified JavaScript into the build folder.
grunt watch
Watches for changes in the assets
directory and rebuilds the site when they change. Useful during development. Does not minify javascript.
grunt server
Builds the site and launches a barebones server to serve up files in the \build
directory. This command also concurrently runs the watch
command to update files as they change.
grunt docs
Generates documentation from the site's JavaScript files using JSDoc
The site should be compiled with the grunt
command before committing, this way there'll always be a pre-built, up to date version of the site included with the repo.
The release procedure is as follows: