A visual dataflow programming system for journalists. More at on the public server!
To set up a development environment:
- Requires Python 3.5 or greater. I recommend Anaconda.
- Install npm
- git clone this repo with submodules:
git clone --recursive https://github.com/jstray/cjworkbench.git
pip install -r requirements.txt
to install Python packagespip install -r requirements-dev.txt
to install packages required for developmentnpm install
to install JavaScript packagespython manage.py migrate
to initialize the databasepython manage.py createsuperuser
or you won't be able to login
If you get a message about missing Chartbuilder (probably when running webpack), check that there are files in /chartbuilder/chartbuilder and /chartbuilder/chartbuilder-ui. You may have missed the --recursive
above when cloning. Fix that with git submodule update --init --recursive
To run:
python manage.py runserver
to start the Django server. It will automatically recompile any .py file you edit.- The first time you run, or when modules have changed, browse to
127.0.0.1:8000/api/initmodules
to load module definitions (needed on first run, or when modules changed)
Go to 127.0.0.1:8000
to list available workflows.
To develop:
./watchjs
to compile JS and CSS whenever changedpython manage.py test
for back end testsnpm test
for front end tests