Skip to content

Pets is a Django project that allow people to share photos and information about missing pets and pets available for adoption

License

Notifications You must be signed in to change notification settings

projetosparalelos/pets

 
 

Repository files navigation

Pets

Code Climate Build Status Coverage Status Requirements Status

Pets is a website where people can publish lost pets and pets available for adoption.

Users can create an account with a username and password, or they can use their Twitter and Facebook to login. You can also extend it to use other providers as it's backed by python-social-auth.

Images uploaded by users are cropped with easy-thumbnails to improve the site performance.

Installing

Requirements

  • Python 3.4 or newer
  • PostgreSQL running with a database, username and password to be used with Pets.

Fork and clone the repository

First fork the project using GitHub, than clone it locally:

git clone https://github.com/<username>/pets.git
cd pets

Configure your instance

The project configuration uses python-decouple to dynamically read environment variables and .env files.

If you want, you can get started by copying contrib/sample-env as .env:

cp contrib/sample-env pets/.env

Then you have to set following variables:

Basic Django settings

  • SECRET_KEY: Django's secret key
  • ALLOWED_HOSTS (e.g. 127.0.0.1, .localhost) Django's allowed hosts
  • DJANGO_SETTINGS_MODULE: In order to make development and deploy to production simpler there's two settings module; pets.settings.dev for development and pets.settings.prod for production.

Database

Mail server for sending e-mails

  • EMAIL_PORT, EMAIL_HOST, EMAIL_HOST_PASSWORD and EMAIL_HOST_USER: SMTP credentials to a mail server.
  • EMAIL_BACKEND: (e.g. django.core.mail.backends.console.EmailBackend) Django's email backend

OAuth

If you want to login via social media, you will have to create apps as a developer at Facebook and/or Twitter. Once you're done, set the app secret and app key for each of them:

  • SOCIAL_AUTH_FACEBOOK_KEY
  • SOCIAL_AUTH_FACEBOOK_SECRET
  • SOCIAL_AUTH_TWITTER_KEY
  • SOCIAL_AUTH_TWITTER_SECRET

Other dependencies

Install Pillow dependencies

As Pets uses Pillow, some extra packages are needed. In a Debian based Linux this should do the job:

sudo apt-get install python-dev python3.x-dev libjpeg8-dev 

Install PhantomJS

To install PhantomJS in a Debian based Linux you migh follow Julio Napurí's tutorial.

In a Mac with Homebrew, this does the trick:

brew install phantomjs

Install Python packages

pip install -r dev-requirements.txt

Test

Execute all tests, it will take some minutes.

cd pets
python manage.py test

Please, do not commit changes if any test fails. Ask for help here instead.

About

Pets is a Django project that allow people to share photos and information about missing pets and pets available for adoption

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 71.4%
  • HTML 21.8%
  • CSS 4.9%
  • JavaScript 1.9%