DNStorm is an experiment in decision-making theory made by Vinicius Massuchetto and Willy Hoppe de Sousa for the Master Program in Nuclear Technology Applications of the Institute of Energy and Nuclear Research and University of São Paulo in Brazil.
This is a simple collaborative platform that allows managers to state problems and ask for contributions of quantified ideas from a web brainstorming processes that will build the problem and solution presentation in the format of a strategy table.
The project's fancy page presents the software in a non-technical language. Sphinx documentation can be found at Read the Docs. A live demo and experimental environment can be found on Heroku.
The development status is in its alpha stages. Feel free to help by reporting bugs and development suggestions on Github issues.
The project uses Python 2.7. Make sure your python, virtualenv and pip binaries meets this version.
Clone the repository and go the project's root to build the environment:
git clone git@github.com:vmassuchetto/dnstorm.git
cd dnstorm
Start a virtual environment, load it and install the required packages from the requirements.txt
file. After this, make sure all the command line used from here is executed in this virtual environment (has the (env)
on the command prompt).
virtualenv --distribute env
source env/bin/activate
pip install -r requirements.txt
Setup the SQLite3 database:
python manage.py syncdb
python manage.py migrate
Run your server:
python manage.py runserver
The application might be running at http://localhost:8000
.
For hosting environment reasons, the compiled static/scss/app.css
is already in the project's repository. That means you don't need to go further if you're not developing.
The project's CSS uses the Foundation <http://foundation.zurb.com>_ framework and is generated with Sass. DNStorm uses a set of Grunt and Bower packages for the static files. To install everything via `nodejs`:
npm install
./node_modules/bower/bin/bower install
And to generate the static CSS:
./node_modules/grunt-cli/bin/grunt build
If you're editing the main static/scss/app.scss
file, you might want to use grunt watch
instead.
E-mail receival in development mode can be checked by a SMTP debugging server:
python -m smtpd -n -c DebuggingServer localhost:1025
The PO and MO files for each language are located in dnstorm/app/locale/<locale_code>/LC_MESSAGES
. To generate a PO file for a given locale code run this:
source env/bin/activate
cd dnstorm/app/
python ../../manage.py makemessages -l <locale code>
To generate the Sphinx documentation files:
source env/bin/activate
cd docs
make <documentation format>
Usually you might want to replace <documentation format>
with html
.
In order to successfully deploy on Heroku this project needs the following setup:
package.json
file must be deletedbower.json
must be deleteddnstorm/app/static/components
directory must be includeddnstorm/settings/heroku.py
file must be created accordingly to the sample configuration file ondnstorm/settings/heroku-sample.py
You can create another heroku
branch to deploy to the heroku
remote like this:
git push heroku heroku:master