{"id":13501889,"url":"https://github.com/jllorencetti/pets","last_synced_at":"2025-03-29T10:32:25.666Z","repository":{"id":29896757,"uuid":"33442393","full_name":"jllorencetti/pets","owner":"jllorencetti","description":"Pets is a Django-based website that allows people to share photos and information about missing pets and pets available for adoption","archived":false,"fork":false,"pushed_at":"2023-12-19T06:44:00.000Z","size":3347,"stargazers_count":99,"open_issues_count":9,"forks_count":52,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-26T13:52:19.944Z","etag":null,"topics":["adoption","django","pets","python","python3","web"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jllorencetti.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-04-05T13:58:48.000Z","updated_at":"2025-01-05T08:37:37.000Z","dependencies_parsed_at":"2024-10-31T21:30:47.114Z","dependency_job_id":"0eef6da9-cddc-4de2-94aa-6b561051cd62","html_url":"https://github.com/jllorencetti/pets","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jllorencetti%2Fpets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jllorencetti%2Fpets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jllorencetti%2Fpets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jllorencetti%2Fpets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jllorencetti","download_url":"https://codeload.github.com/jllorencetti/pets/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246173937,"owners_count":20735405,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adoption","django","pets","python","python3","web"],"created_at":"2024-07-31T22:01:54.416Z","updated_at":"2025-03-29T10:32:25.094Z","avatar_url":"https://github.com/jllorencetti.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Pets\n\n[![Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)\n[![Code Climate](https://codeclimate.com/github/jllorencetti/pets/badges/gpa.svg)](https://codeclimate.com/github/jllorencetti/pets)\n[![Build Status](https://travis-ci.org/jllorencetti/pets.svg?branch=master)](https://travis-ci.org/jllorencetti/pets)\n[![Coverage Status](https://coveralls.io/repos/github/jllorencetti/pets/badge.svg?branch=master)](https://coveralls.io/github/jllorencetti/pets?branch=master)\n[![Updates](https://pyup.io/repos/github/jllorencetti/pets/shield.svg)](https://pyup.io/repos/github/jllorencetti/pets/)\n\nPets is a website where people can publish lost pets\nand pets available for adoption.\n\nUsers can create an account with a username and password,\nor 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](https://pypi.python.org/pypi/python-social-auth).\n\nImages uploaded by users are cropped with [easy-thumbnails](https://pypi.python.org/pypi/easy-thumbnails) to improve the site performance.\n\n## Installing\n\n### Requirements\n\n* [Python](https://python.org) 3.6 or newer\n* [PostgreSQL](https://www.postgresql.org) running with a _database_, _username_ and _password_ to be used with Pets.\n\n\n### Fork and clone the repository\n\nFirst fork the project using GitHub, than clone it locally:\n\n```console\ngit clone https://github.com/\u003cusername\u003e/pets.git\ncd pets\n```\n\n### Configure your instance\n\nThe project configuration uses [python-decouple](https://pypi.python.org/pypi/python-decouple/) to dynamically read environment variables and `.env` files.\n\nIf you want, you can get started by copying `contrib/sample-env` as `.env`:\n\n```console\ncp contrib/sample-env pets/.env\n```\n\nThen you have to set following variables:\n\n#### Basic Django settings\n\n* **`SECRET_KEY`**: [Django's secret key](https://docs.djangoproject.com/en/1.8/ref/settings/#std:setting-SECRET_KEY)\n* **`ALLOWED_HOSTS`** (e.g. `127.0.0.1, .localhost`) [Django's allowed hosts](https://docs.djangoproject.com/en/1.8/ref/settings/#allowed-hosts)\n* **`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.\n\n#### Database\n\n* **`DATABASE_URL`**: (e.g. `postgres://username:password@server:port/database_name`) [Database URL](https://github.com/kennethreitz/dj-database-url#url-schema)\n* **`DB_CONN_MAX_AGE`**: (e.g. `0`) [Django's database `CONN_MAX_AGE`](https://docs.djangoproject.com/en/1.8/ref/settings/#std:setting-CONN_MAX_AGE`)\n\n#### Email configuration\n\n* **`SENDGRID_API_KEY`**: API key of you SendGrid account.\n* **`DEFAULT_FROM_EMAIL`**: The email address that will be used as the `from` email field.\n\n#### OAuth\n\nIf you want to login via social media, you will have to create apps as a developer [at Facebook](https://developers.facebook.com) and/or [Twitter](https://apps.twitter.com). Once you're done, set the _app secret_ and _app key_ for each of them:\n\n* `SOCIAL_AUTH_FACEBOOK_KEY`\n* `SOCIAL_AUTH_FACEBOOK_SECRET`\n* `SOCIAL_AUTH_TWITTER_KEY`\n* `SOCIAL_AUTH_TWITTER_SECRET`\n\n### Other dependencies\n\n#### Install Pillow dependencies\n\nAs Pets uses [Pillow](https://pypi.python.org/pypi/Pillow), some extra packages are needed. In a Debian based Linux this should do the job:\n\n```console\nsudo apt-get install python-dev python3.x-dev libjpeg8-dev\n```\n\n#### Download ChromeDriver\n\nYou just need to download and unzip the latest [ChromeDriver](https://sites.google.com/a/chromium.org/chromedriver/downloads) and place it somewhere in your search path.\n\n### Install Python packages\n\nYou can install the required packages with [pipenv](https://github.com/pypa/pipenv).\n\n```console\npipenv install --dev\n```\n\n### Test\n\nExecute all tests, it will take some minutes.\n\n```console\ncd pets\npython manage.py test\n```\n\nPlease, do not commit changes if any test fails. Ask for help here instead.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjllorencetti%2Fpets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjllorencetti%2Fpets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjllorencetti%2Fpets/lists"}