Initial copy of template from dereknutile/django-1.7-template
Modify the template for our uses

 - Remove docs/
 - Remove bower stuff
 - Remove gitignore
 - Remove the template README
 - Remove sample shell script
 - Remove static files, add .gitignore
   Our static files will end up in static/ *after* they go
   through gulp
 - Remove starter templates
 - Add executable permissions to manage.py
 - Settings changes - don't email the admins on errors
 - Settings change - The NYC Tree Census is in New York
 - Cleanup python dependencies
 - Rename project -> nyc_trees
 - Just use the default test runner settings, not django-discover-runner
 - Faster tests by faster password hashing
 - Share django app with the app VM
 - Change development database to use postgresql
 - In memory Spatialite for the test DB
 - Flatten the directory structure slightly
 - Add some TODOs around log handling and email
 - Remove internationalization support
Merge pull request #23 from maurizi/app-skeleton

Django App skeleton
Add support to PostgreSQL for PostGIS

This changeset installs PostGIS via the PostgreSQL APT repository. See
https://github.com/azavea/ansible-postgis for details.

Attempts to resolve: #27
Allow all virtual machines to communicate with PostgreSQL

This changeset overrides the PostgreSQL host-based authentication
settings to allow all virtual machines in the Vagrant mutli-VM setup to
communicate with PostgreSQL.
Add support for installing project dependencies in development

This changeset adds the `nyc-trees.app` role to capture tasks directly
tied to the nyc-trees Django application. The first step is installing
the project's requirements file, and any system dependencies it may
have.
Cleanup Vagrantfile

This changeset cleans up the existing Vagrantfile by:

- Ensuring that methods in a block use the passed variable
- Explicitly disabling the /vagrant share
Merge branch 'feature/django-deps' into develop
Remove Chef service in development

The Ubuntu 14.04 (Trusty) Vagrant box has the `chef-client` service
running by default. This changeset removes the `chef-client` service if
it exists in development.
Wipe and install Ansible roles

The previous method to install dependent roles was not accounting for
scenarios where a role existed on the file system, but needed to be
updated. This changeset removes all `azavea.*` roles and then reinstalls
them.
Use latest `azavea.nginx` ansible role
Merge pull request #39 from RickMohr/update-azavea-nginx

Use latest `azavea.nginx` ansible role
Merge branch 'feature/wipe-and-install' into develop
Bump version of Node.js role

Attempts to resolve #41.
Wire up the database

This changeset connects the Django application (running on `app`) to the
PostgreSQL database (running on `services`). The Django application is
setup to pull database settings in from the environment and `envdir` is
used to populate the environment.

Example usage:

```bash
$ vagrant ssh app
vagrant@app:~$ envdir /etc/nyc-trees.d/env /opt/app/manage.py runserver
```

Attempts to resolve the following issues:

- https://github.com/azavea/nyc-trees/issues/28
- https://github.com/azavea/nyc-trees/issues/31
- https://github.com/azavea/nyc-trees/issues/35
- https://github.com/azavea/nyc-trees/issues/36
Remove TEST_RUNNER setting

Running ``manage.py test`` was throwing "ImportError: No module named
discover_runner."

The Django 1.7 docs say: "By default, TEST_RUNNER points to
'django.test.runner.DiscoverRunner'"
Merge pull request #47 from jwalgran/topic/remove-test-runner-setting

Remove TEST_RUNNER setting
Add CloudFormation support via Troposphere

This changeset adds support for Amazon Web Services CloudFormation via
Troposphere, a Python library for describing CloudFormation stacks.

There are currently 4 stacks:

- VPC

The VPC consists of 4 subnets, 2 public and 2 private. The subnets are
spread across 2 availability zones. There is a NAT instance for each
availability zone, and one bastion instance for the entire VPC.

- Data store (contains database and cache)

The data stores consist of a PostgreSQL RDS instance setup across
multiple availability zones and a Redis ElastiCache instance. The RDS
instance creates a default database (`nyc_trees`) automatically. The
ElastiCache Redis instance has AOF enabled. Both live inside the private
subnets.

- App servers

The application servers live within a vanilla Auto Scaling Group (ASG)
that is associated with an Elastic Load Balancer (ELB). Health checks
run by the ELB trigger changes in the ASG. All application servers live
inside the private subnets, but are fronted by their own ELB.

- Tile servers

The tile servers live within a vanilla Auto Scaling Group (ASG) that is
associated with an Elastic Load Balancer (ELB) as well. Health checks
run by the ELB trigger changes in the ASG. All tile servers live inside
the public private, but are fronted by their own ELB.

Additional AWS deployment details are housed in the `README`.

Resolves #24.