Skip to content

Workflow, visualizations and data services for managing NGO projects and programs

Notifications You must be signed in to change notification settings

toladata/TolaActivity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Greg Lind
Dec 16, 2022
364d5c2 · Dec 16, 2022
Feb 6, 2018
Feb 15, 2018
Mar 7, 2019
Mar 7, 2019
Mar 12, 2019
Apr 3, 2019
Dec 13, 2018
Sep 6, 2018
Mar 7, 2019
May 3, 2018
Oct 25, 2018
Mar 12, 2019
Dec 1, 2017
Nov 21, 2017
Apr 25, 2018
May 26, 2017
Nov 9, 2017
Jan 17, 2018
Apr 24, 2018
Aug 27, 2018
Dec 16, 2022
Dec 14, 2017
Dec 14, 2017
Mar 1, 2018
Jan 16, 2018
Jan 16, 2018
Jun 21, 2018
Mar 22, 2018

Repository files navigation

Tola Activity Build Status Coverage Status

TolaActivity extends the functionality of TolaData to include a set of forms and reports for managing project activities for a WorkflowLevel1. It includes workflow for approving and completing projects as well as sharing the output data.

TolaActivity functionality http://www.github.com/toladata/TolaActivity is intended to allow importing and exporting of project specific data from 3rd party data sources or excel files.

Configuration

Location of settings:

  • Development: tola/settings/dev.py
  • Test runner: tola/settings/test.py and tola/settings/test_pkg.py
  • Staging/Production: tola/settings/local.py

Check the documentation on setting up search functionality in search/Readme.md

Deploy locally via Docker

Build first the images:

docker-compose -f docker-compose-dev.yml build

To run the webserver (go to 127.0.0.1:8080):

docker-compose -f docker-compose-dev.yml up # -d for detached

User: admin Password: admin.

To run the tests:

docker-compose -f docker-compose-dev.yml run --entrypoint '/usr/bin/env' --rm web python manage.py test # --keepdb to run second time faster

To run the package building tests, follow these steps:

docker-compose -f docker-compose-dev.yml run --entrypoint '/usr/bin/env' --rm web bash
# Now inside the container
pip freeze | grep -v "^-e" | xargs pip uninstall -y; pip uninstall -y social_auth_core; cat requirements/base.txt | grep "^Django==\|^psycopg2" | xargs pip install; pip install -r requirements/pkg.txt
python manage.py test --tag=pkg --keepdb

To run the webserver with pdb support:

docker-compose -f docker-compose-dev.yml run --rm --service-ports web

To run bash:

docker-compose -f docker-compose-dev.yml run --entrypoint '/usr/bin/env' --rm web bash

or if you initialized already a container:

docker exec -it web bash

To connect to the database when the container is running:

docker exec -it postgres psql -U root tola_activity

If the database is empty, you may want to populate extra demo data to play around with Activity:

docker-compose -f docker-compose-dev.yml run --entrypoint '/usr/bin/env' --rm web python manage.py loadinitialdata  --demo

(Be careful using this, only on demo!) If the database is already populated and you want to restore the default data:

docker-compose -f docker-compose-dev.yml run --entrypoint '/usr/bin/env' --rm web python manage.py loadinitialdata  --restore

Issue with the local environment

If you're getting an error in your local environment, it can be related to the social-core library. To solve this issue you need to execute the following step:

  • With the container running, go into it with this command:

    docker exec -it web bash

  • Install the social-core lib again:

    pip install -e git://github.com/toladata/social-core#egg=social-core

  • Now, restart the container.

It should solve the problem!

Deploy locally using virtualenv

Given pip is installed:

pip install virtualenv

Create the environment:

virtualenv —no-site-packages venv

Note: use no site packages to prevent virtualenv from seeing your global packages.

Activate the environment:

. venv/bin/activate

or:

source venv/bin/activate

Install requirements:

pip install -r requirements/dev.txt

Set up database:

python manage.py migrate

Run the server:

python manage.py runserver 0.0.0.0:8000

Creating PRs and Issues

The following templates were created to easy the way to create tickets and help the developer.

  • Bugs and Issues [+]
  • New features [+]
  • Pull requests [+]