/adopt

Adoptable pets in Denver

Primary LanguageGoMIT LicenseMIT

Adopt

Find adoptable pets in Denver!

Visit a deployed version of the site at pets.codefordenver.org!

This site creates an alternative API for pets in shelters near Denver. It is written in Python on the Django web framework. It is backed by a custom robot written in Go.

Website

The website is deployed and updated through Fabric commands. Deploying to a Ubuntu 14.04 server can be done with:

fab -H user@server deploy

This will install the necessary software on the server, including PostgreSQL, nginx, and uWSGI.

Any updates can also be performed by the fabfile:

fab -H user@server update

Robot

The database is populated by an automated Go process. Install the robot with:

go get -u github.com/aodin/adopt/robot

To run the robot, including any tests or commands, create a local_settings.json file in the robot sub-directory with valid database credentials. An example:

{
    "database": {
        "driver": "postgres",
        "host": "localhost",
        "port": 5432,
        "name": "adopt",
        "user": "user",
        "password": "pass" 
    }
}

To update the animals in the database, simply run the get_pets.go script in the cmd directory:

go run get_pets.go

A database can also be bootstrapped with html files downloaded from the source website. These are loaded with the load_file.go script in the cmd directory. For example:

go run load_file.go others.html cats.html dogs.html

It is important to run all file in one command. Subsequent operations will be considered separate batches: any animals not in a batch will be marked as removed by the database.

-aodin, 2014