-
Notifications
You must be signed in to change notification settings - Fork 80
Home
Esta página reúne informações úteis ao desenvolvimento atual do SAPL.
Para maiores informações sobre a versão corrente do sistema (2.5) visite a página do projeto na wiki do Interelgis
Reproduzir exatamente (ou o mais próximo possível) a funcionalidade existente. As melhorias serão feitas nas versões a partir da 3.2
Instalar as seguintes dependências de sistema (no Ubuntu):
sudo apt-get install python3-dev libpq-dev graphviz graphviz-dev \
postgresql postgresql-contrib pgadmin3 python-psycopg2
-
Criar um virtualenv usando python 3 para o projeto e ativá-lo. Se vc usa o virtualenvwrapper:
mkvirtualenv -p /usr/bin/python3 sapl
-
Instalar as dependências python com:
pip install -r requirements/dev-requirements.txt
- Mensagens de commit no padrão 50/72 colunas começando com um verbo no infinitivo. Vide:
- Todo código no padrão PEP8
- Apenas relaxamos E501 (linhas sem limite de tamanho) nos arquivos models.py, por enquanto.
- Antes de
git push
:- Rodar principalmente
git pull --rebase
. Em alguns casos apenas usar merge (lembre quegit pull
=> merge).
- Rodar principalmente
- (...Usar um ramo novo para cada feature significativo? ...Talvez)
- Antes de
git commit
, sempre:- Rodar
./manage.py check
- Rodar testes com
py.test
(Importante: É necessário que o usuáriosapl
tenha a permissãocreate database
no postgres)
- Rodar
-
Escreva testes para toda a funcionalidade que implementar.
-
Mantenha a cobertura de testes próxima de 100%.
-
Para executar todos os testes, raiz do repositório, com o virtualenv ativado, usar o comando
py.test
. -
Para executar os testes com cobertura usar o comando:
py.test --cov . --cov-report term --cov-report html && firefox htmlcov/index.html
- Bootstrap para templates (ter sempre dispositivos móveis e acessibilidade em mente)
- Django Vanilla Views para views (e function based views para os casos mais simples)
- Urls semânticas
- django-crispy-forms para forms com diagramação com Bootstrap
- O que usar para API Rest. Provavelmente usaremnos o django-rest-framework. O Colab usou django-tastypie
- O que usar para fazer forms de busca mais facilmente. Testar django-filter
- Inglês (Avaliar se isso funcionará bem para a comunidade)
- Commits, comentários, identificadores (nomes de variáveis, classes, funções, etc) em inglês