Keep is a general purpose platform that is designed to facilitate data collection and analysis while providing a robust API to support its use in other mediums.
The data collection is defined through forms. The form structure itself is based on XForms. Specifically, the OpenRosa subset. While xforms are originally an xml specification, there is now a JSON representation for them, and both formats are available for use through our API. XForms can created using XLS documents as well with our system. need documentation of JSON Form)
XForm Documentation:
XLSForm Documentation:
Make sure the following dependencies are installed:
- MongoDB ( http://www.mongodb.org )
- MySQL ( http://www.mysql.com )
- Python 2.7 ( http://www.python.org )
You must setup Frontend Dev even if you're only doing backend development. The Front-end development environment will set up the resources needed to compile and minify your frontend assets. To correctly ensure that you have a working local development environment, follow these instructions:
After installing Ruby, run the following command to install the first set of front-end dependencies.
gem update --system && gem install compass
Make sure you are in the root of the project where the package.json file is located.
npm install
If you are having problems with installing npm, or installing Node.js, try typing the following lines into the command line:
echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install #This will take a couple minutes to run
curl https://npmjs.org/install.sh | sh
Next we make sure bower ( a javascript/css package manager ) is installed and accessible globally. You may need admin access to install globally.
(sudo) npm install -g bower
bower install
Finally, we used the tools we have just installed to build our javascript/css files. When the build task is completed, grunt will watch for changes in the frontend directory and rebuild when necessary.
grunt build
Make sure you have the following Python modules installed:
- pip ( http://pypi.python.org/pypi/pip )
- virtualenv ( http://pypi.python.org/pypi/virtualenv )
- virtualenvwrapper ( http://www.doughellmann.com/projects/virtualenvwrapper )
Ensure that virtualenvwrapper is correctly setup. You should be able to run mkvirtualenv_help from the command line.
mkvirtualenv dhlab_backend
pip install -r deps.txt
git submodule init
git submodule update
Run mongod to ensure MongoDB is running
mongod
python keep_backend/manage.py syncdb
python keep_backend/manage.py migrate
fab restore_db
Note: on a syncdb command, Django will ask you to create a superuser. Create one, and use these as your login credentials for the Logging in portion.
python keep_backend/manage.py runserver
You may now log in to the system using the following credentials.
Username: admin
Password: test
Keep is licensed under the terms of the MIT License