GithubHelp home page GithubHelp logo

brandonbouier / comport Goto Github PK

View Code? Open in Web Editor NEW

This project forked from codeforamerica/comport

0.0 1.0 0.0 2.62 MB

Comport is a tool for law enforcement agencies to open their data and be accountable to their citizens.

Home Page: https://www.projectcomport.org

License: BSD 3-Clause "New" or "Revised" License

Makefile 0.04% Python 64.53% CSS 0.80% JavaScript 26.93% HTML 7.65% Mako 0.05%

comport's Introduction

Project Comport

Build Status

What is it?

An ETL Toolkit to take Police Accountability data from the IA Pro Internal Affairs Software and produce publicly available and useful websites allowing better citizen oversight.

What's the status?

Project Comport is in early development.

Who made it?

Project Comport is a project of the 2015 Indianapolis Code for America fellowship team.

How

Core Dependencies

Project Comport is a Flask app. It uses Postgres for a database and uses bower to manage its front end dependencies. Big thanks to the cookiecutter-flask project for a nice kickstart.

Installation and setup

Quick local installation

First, clone the repo and change into the project directory.

git clone [email protected]:codeforamerica/comport.git
cd comport

Create a Python 3 virtual environment with virtualenv and (optionally) virtualenvwrapper and activate it. Read these detailed installation and usage instructions for those two tools if you don't have them installed already.

With virtualenv only:

virtualenv --no-site-packages -p python3 venv
source venv/bin/activate

With virtualenvwrapper:

mkvirtualenv --no-site-packages -p python3 comport
workon comport

Then install the required packages:

pip install -r requirements/dev.txt

And create and populate the project database (use postgres.app if you're developing on OS X):

psql -c 'create database comport;'
python manage.py db upgrade

Bower is used to install front-end dependencies. Install node and npm, then use npm to install bower. When Bower's installed, use it to install Comport's front-end dependencies:

bower install

Finally, start the server:

python manage.py server

NOTE: The app's configuration lives in settings.py. When different configurations (such as DevConfig) are referenced in the next sections, they are contained in that file.

If you want to send a notification to a Slack instance on certain events, copy the env.sample file to .env:

cp env.sample .env

Set up an Incoming Webhooks integration on Slack and save the value of Webhook URL as SLACK_WEBHOOK_URL in .env. This will not work when you're running Comport for development. To set the variable when the application is running on Heroku, follow these instructions.

Generating Fake Data

To generate some fake incident data, first start the server.

python manage.py server

Then, in another terminal, run the command below.

WARNING: This command will destroy and re-build the application's database from scratch, erasing departments, users, incidents, etc.

python manage.py test_client

Testing

In order to run the tests, you will need to create a test database. You can follow the same procedures outlined in the install section. By default, the database should be named comport_test:

psql
create database comport_test;

To run the tests, run

python manage.py test

from inside the root directory.

License

See LICENSE.md.

comport's People

Contributors

tmaybe avatar bengolder avatar edmundkorley avatar tiffanyandrews avatar creade avatar keith24 avatar webmaven avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.