https://github.com/aodin/adopt
Adoptable pets in Denver
https://github.com/aodin/adopt
Last synced: 2 months ago
JSON representation
Adoptable pets in Denver
- Host: GitHub
- URL: https://github.com/aodin/adopt
- Owner: aodin
- License: mit
- Created: 2014-08-13T02:17:51.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2014-08-29T19:15:45.000Z (over 10 years ago)
- Last Synced: 2025-01-21T08:29:44.416Z (4 months ago)
- Language: Go
- Size: 332 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Adopt
=====Find adoptable pets in Denver!
Visit a deployed version of the site at [pets.codefordenver.org](http://pets.codefordenver.org/)!
This site creates an alternative API for pets in [shelters near Denver](http://www.petharbor.com/pick_shelter.asp?searchtype=ADOPT&friends=1&samaritans=1&nosuccess=0&rows=100&imght=120&imgres=thumb&view=sysadm.v_animal_short&fontface=arial&fontsize=10&zip=80209&miles=10). It is written in Python on the [Django](https://www.djangoproject.com/) web framework. It is backed by a custom robot written in [Go](http://golang.org/).
### Website
The website is deployed and updated through [Fabric](http://www.fabfile.org/) 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](http://www.postgresql.org/), [nginx](http://nginx.org/), and [uWSGI](http://projects.unbit.it/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:
```json
{
"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