Data tool to help international development NGOs to navigate charity commission data.
- Global Development Institute (GDI, University of Manchester)
- Sheffield Institute for International Development (SIID, University of Sheffield)
- David Kane
- CharityBase
This app uses Flask to fetch and display data from the CharityBase API.
On dokku server:
# create app
dokku apps:create ngo-explorer
# enable domains
dokku domains:enable ngo-explorer
dokku domains:add ngo-explorer example.com
# letsencrypt
dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git
dokku config:set --no-restart ngo-explorer DOKKU_LETSENCRYPT_EMAIL=your@email.tld
dokku letsencrypt ngo-explorer
# add charitybase api key
dokku config:set ngo-explorer CHARITYBASE_API_KEY=123456789
# setup volume storage
mkdir -p /var/lib/dokku/data/storage/ngo-explorer
chown -R dokku:dokku /var/lib/dokku/data/storage/ngo-explorer
chown -R 32767:32767 /var/lib/dokku/data/storage/ngo-explorer
dokku storage:mount ngo-explorer /var/lib/dokku/data/storage/ngo-explorer:/app/storage
dokku config:set --no-restart ngo-explorer DATA_CONTAINER=/app/storage
A custom build of tachyons is maintained in https://github.com/drkane/ngo-explorer-tachyons.
Colours used include:
Update translations if base text changes
pybabel extract -F babel.cfg --copyright-holder="NGO Explorer" --project="NGO Explorer" --msgid-bugs-address="email@example.net" -o messages.pot .
pybabel update -i messages.pot -d translations
Create a file for translations
pybabel init -i messages.pot -d translations -l de
Compile the new transations
pybabel compile -d translations
We use webpack and babel to compile javascript - this minimises the size of the javascript files, and makes sure that we can target older browsers.
npm run build
python -m pytest -p no:warnings