diff --git a/CONTRIB.md b/CONTRIB.md
index 31604185a..95f0270b3 100644
--- a/CONTRIB.md
+++ b/CONTRIB.md
@@ -29,8 +29,11 @@ with the password `terriblepassword`.
For the webapp, the credentials for the testing/development environment are expected to be in a file `$PGPASS`, so set that up:
`echo "localhost:5432:openoversight-dev:openoversight:terriblepassword" >> ~/.pgpass`
+
`echo "export PGPASS=~/.pgpass" >> ~/.bashrc`
+`source ~/.bashrc`
+
In the `/vagrant/OpenOversight` directory, there is a script to create the database:
`python create_db.py`
@@ -59,4 +62,4 @@ If you e.g. add a new column or table, you'll need to migrate the database. You
`python migrate_db.py`
to do this.
-`python upgrade_db.py` and `python downgrade_db.py` can also be used as necessary. Note that I followed [this tutorial](http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-iv-database) to set this up.
\ No newline at end of file
+`python upgrade_db.py` and `python downgrade_db.py` can also be used as necessary. Note that I followed [this tutorial](http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-iv-database) to set this up.
diff --git a/DEPLOY.md b/DEPLOY.md
index a2474f191..60db06097 100644
--- a/DEPLOY.md
+++ b/DEPLOY.md
@@ -75,7 +75,8 @@ SECRET_KEY = 'changemeplzorelsehax'
# Systemd
-You can write a simple systemd unit file to launch OpenOversight on boot. We defined ours in `/etc/systemd/system/openoversight.service`. You should create the proper usernames and groups that are defined in the unit file since this allows you to drop privileges on boot. This unit file was adopted from this [DigitalOcean guide](https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-gunicorn-and-nginx-on-centos-7).
+You can write a simple systemd unit file to launch OpenOversight on boot. We defined ours in `/etc/systemd/system/openoversight.service`. You should create the proper usernames and groups that are defined in the unit file since this allows you to drop privileges on boot. This unit file was adopted from this [DigitalOcean guide](https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-gunicorn-and-nginx-on-centos-7). We define a static environment variable called `PGPASS` which is loaded by systemd before it drops priviledges for ngingx. More details can be found in `CONTRIB.md`.
+
```
[Unit]
Description=Gunicorn instance to serve OpenOversight
@@ -84,9 +85,10 @@ After=network.target
[Service]
User=nginx
Group=nginx
-WorkingDirectory= /home/nginx/oovirtenv/OpenOversight/OpenOversight
+WorkingDirectory=/home/nginx/oovirtenv/OpenOversight/OpenOversight
Environment="PATH=/home/nginx/oovirtenv/bin"
-ExecStart=/usr/local/bin/gunicorn -w 4 -b 127.0.0.1:4000 app:app &
+Environment="PGPASS=~/.pgpass"
+ExecStart=/usr/local/bin/gunicorn -w 4 -b 127.0.0.1:4000 app:app
[Install]
WantedBy=multi-user.target
diff --git a/OpenOversight/app/static/images/placeholder.png b/OpenOversight/app/static/images/placeholder.png
new file mode 100644
index 000000000..aab979448
Binary files /dev/null and b/OpenOversight/app/static/images/placeholder.png differ
diff --git a/OpenOversight/app/static/images/twitterfavicon.ico b/OpenOversight/app/static/images/twitterfavicon.ico
new file mode 100644
index 000000000..b6dbef465
Binary files /dev/null and b/OpenOversight/app/static/images/twitterfavicon.ico differ
diff --git a/OpenOversight/app/static/theme.css b/OpenOversight/app/static/theme.css
index 25c15dfcf..8c4961811 100644
--- a/OpenOversight/app/static/theme.css
+++ b/OpenOversight/app/static/theme.css
@@ -17,3 +17,6 @@ body {
width: auto;
}
+.glyphicon {
+ font-size: 30px;
+}
\ No newline at end of file
diff --git a/OpenOversight/app/templates/about.html b/OpenOversight/app/templates/about.html
index 1e872a895..2eaef31db 100644
--- a/OpenOversight/app/templates/about.html
+++ b/OpenOversight/app/templates/about.html
@@ -3,13 +3,14 @@
About OpenOversight
-
OpenOversight is an accountability platform for helping the public identify police officers for the purpose of filing complaints. We rely on crowdsourced and public data to build a database of police officers in a city, allowing the public to filter through the dataset to find the name and badge number of the offending officer.
-
+
+
In support of demands for greater police accountability in Chicago and nationwide, Illinois nonprofit The Lucy Parsons Labs launched OpenOversight an interactive web tool that makes it easier for Chicago residents to file complaints against police officers. OpenOversight is an accountability platform for helping the public identify police officers for the purpose of filing complaints. We rely on crowdsourced and public data to build a database of police officers in a city, allowing the public to filter through the dataset to find the name and badge number of the offending officer.
+
Using OpenOversight, members of the public can search for the names and badge numbers of Chicago police they have negative interactions with based on where that interaction took place and the officer's estimated age, race and gender. Using this information, the OpenOversight web application returns a digital gallery of potential matches and, when possible, includes pictures of officers in uniform to assist in identification. "The deck is stacked against people harmed by Chicago police," says Jennifer Helsby, CTO of the Lucy Parsons Labs and lead developer on the OpenOversight project. "Despite a long history of proven abuses, including torture, Chicago police are almost never held accountable for misconduct or crimes they commit. To file a misconduct complaint, the burden is on the public to provide as much detailed data about the officer as possible. OpenOversight aims to empower Chicagoans with tools that make it easier to identify officers and hold them accountable."
Facts and Figures about Chicago Police Department:
- To file a police complaint in Chicago, a member of the public needs to know as much detailed data about the officer as possible. Based on complaints data from the Invisible Institute, from March 2011 - March 2015, 28% of complaints (4,000 total complaints) were immediately dropped due to no officer identification. Source: Citizen Police Data Project
- - • All complaints against officers must be supported by a sworn affidavit. False complaints can result in perjury charges, a Class 3 felony. Source: Chicago Police
+ - • All complaints against officers must be supported by a sworn affidavit. False complaints can result in perjury charges, a Class 3 felony. Source: Chicago Police
- Less than 2% of the 28,567 complaints filed against the Chicago police department from March 2011 to September 2015 resulted in discipline. Most officers who do face discipline are suspended for a week or less. Source: Citizens Police Data Project
- Chicago spent over $500 million from 2004 to 2014 on settlements, legal fees and other costs related to complaints against police officers. Source: Better Government Association
@@ -28,6 +29,8 @@
About OpenOversight
To review, an image is one that we have collected or have been given that may contain police officers - it could contain many police officers. A “tag” is what we call when a volunteer looks at that image, can read the badge number(s) or name(s) in that image and and thus can associate an officer in the database (name and badge number) with a face in the image. There may be many tags for a given image if there are many officers in the image.
+
OpenOversight is the first project of its kind in the United States and is a direct response to the failure of Chicago's leaders to take proactive steps that allow the public to identify and report problem police officers. OpenOversight is released as free and open source software so others can launch similar police accountability projects in their own cities. The software is available for download on GitHub.
+
{% endblock %}
diff --git a/OpenOversight/app/templates/base.html b/OpenOversight/app/templates/base.html
index a8e615ed1..b08f4faa0 100644
--- a/OpenOversight/app/templates/base.html
+++ b/OpenOversight/app/templates/base.html
@@ -75,11 +75,24 @@