⚖️ Committee oversight map coding project for the Lugar Center
We use Docker for local development. To get started, run the following from your terminal:
-
Clone this repository and
cd
into your local copy.git clone git@github.com:datamade/committee-oversight.git cd committee-oversight
-
DataMade employees can download the most recent copy of the scraped committee hearings
hearings.dump
fromdatamade-postgresql-backups/hearings
bucket in S3. Otherwise you'll need to run the hearings scraper to populate your application database with the latest committee hearings. Subsequent steps will not work until you add initial hearings data to your database. -
If you ran the hearings scraper in Step 2, you can skip this step. To load
hearings.dump
into your database, run:docker-compose -f docker-compose.yml -f docker-compose.db-ops.yml run -e PGPASSWORD=postgres --rm dbload-dump
-
Run migrations and load in various fixtures:
docker-compose -f docker-compose.yml -f docker-compose.db-ops.yml run --rm dbload-fixtures
-
Run the application:
docker-compose up
-
You should be able to log in with the DataMade
testuser
. If you don't have those credentials, create a new superuser:docker-compose run --rm app python manage.py createsuperuser
-
Navigate to http://localhost:8000/ to view the site!
To run the tests:
docker-compose -f docker-compose.yml -f tests/docker-compose.yml run --rm app
The dbload-fixtures
command in step 3 above will load initial CMS data. If you'd like to do it separately, run:
docker-compose run --rm app python manage.py load_cms_content
To create a new dump of all the content in the Wagtail backend, perform the following steps:
-
Back up the CMS content (except for image files) with the following 2 commands:
docker-compose run --rm app python manage.py dumpdata --natural-foreign --indent 2 \ -e core \ -e legislative \ -e committeeoversightapp \ -e contenttypes \ -e auth.permission \ -e wagtailcore.groupcollectionpermission \ -e wagtailcore.grouppagepermission \ -e wagtailimages.rendition \ -e sessions > committeeoversightapp/fixtures/initial_cms_content.json
docker-compose run --rm app python manage.py dumpdata --natural-foreign --indent 2 \ committeeoversightapp.landingpage \ committeeoversightapp.staticpage \ committeeoversightapp.categorydetailpage \ committeeoversightapp.committeedetailpage \ committeeoversightapp.hearinglistpage \ committeeoversightapp.comparecurrentcommitteespage \ committeeoversightapp.comparecommitteesovercongressespage \ > committeeoversightapp/fixtures/initial_cms_content_custom_pages.json
This should update the
initial_cms_content.json
file in yourcommitteeoversightapp/fixtures
directory. -
Update the image files by copying your local Wagtail images folder into
fixtures/initial_images
:cp -R media/original_images/. committeeoversightapp/fixtures/initial_images/