hacklabr / mapaguarani

Django and AngularJS together creating maps about indigenous villages in Brazil
GNU Affero General Public License v3.0
7 stars 3 forks source link

Mapa Guarany Yvyrupá

Projeto Django Base

Projeto Django baseado no padrão cookiecutter-django e com diversas adaptações para uso na infraestrutura Docker-Rancher do hacklab/.

Ambiente de desenvolvimento

Para clonar este repositório, execute:

git clone git@gitlab.com:hacklab/base-django-project.git

Levante o ambiente de desenvolvimento com docker-compose up e acesse localhost:8000.

Importanto Bando de dados de testes (ou da produção)

Neste exemplo, apagamos e recriamos o banco para garantir que estamos importando sobre uma base limpa. Este exemplo cobre a importação feita a partir de um binário (psqlc), adapte o os comandos para usar com outros formatos.

# Sobe somente container do postgres, importantes senão o django vai bloquer alterações no banco
docker-compose up postgres
# copia backup para dentro do container (isso pode ser melhorado)
docker cp mapaguarani.psqlc mapaguarani_postgres_1:/mapaguarani.psqlc
docker-compose exec postgres sh -c "dropdb -U\$POSTGRES_USER django"
docker-compose exec postgres sh -c "createdb -U\$POSTGRES_USER django"
docker-compose exec postgres sh -c "psql -U\$POSTGRES_USER -d django -c \"CREATE EXTENSION postgis;\""
docker-compose exec postgres sh -c "pg_restore -U\$POSTGRES_USER -O -x -n public -d django mapaguarani.psqlc"

Testes

Existem duas maneiras de se executar os testes automatizados localmente:

docker-compose -f local.yml exec django pytest
docker build -f compose/test/django/Dockerfile -t django_test .
docker run -d --env-file=./compose/test/test_env --name=postgres_test postgres:9.6
docker run --env-file=./compose/test/test_env --link=postgres_test:postgres \
  django_test /test.sh

Variáveis de ambiente

Banco de dados

Email

Django

Redis

Sentry

Integrações de deploy

Commits no branch master fazem releases da versão em desenvolvimento.

Tags fazem releases em produção.

Dados Extras de Mapa

Os dados de países e estados de Paraguai, Bolivia e Argentina vieram do Who's On First Gazeteer.

Os dados de limites municipais da Argentina vêm do portal de dados abertos (https://datos-ignarg.opendata.arcgis.com/datasets/3f2410c818c747b3840e6934b45c3daa_13)