SAPL: Sistema de Apoio ao Processo Legislativo
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
To install your development environment see Development Environment Setup
Diretrizes gerais para a implementação da versão 3.1
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
Boas práticas
- 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
Testes
-
Escreva testes para toda a funcionalidade que implementar.
-
Mantenha a cobertura de testes próxima de 100%.
-
Para executar todos os testes, na raiz do repositório, com o virtualenv ativado, usar o comando
py.test
.- Na primeira vez que rodar os testes use
py.test --create-db
. Depois disso pode usar simplesmentepy.test
.
- Na primeira vez que rodar os testes use
-
Para executar os testes com cobertura usar o comando:
py.test --cov . --cov-report term --cov-report html && firefox htmlcov/index.html
Componentes
- Bootstrap para templates (ter sempre dispositivos móveis e acessibilidade em mente)
- Urls semânticas
- django-crispy-forms para forms com diagramação com Bootstrap
A definir
- 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
Idioma
- 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
Documentação SAPL 📄
Instalação do SAPL 3.1 com Docker
Configuração do Ambiente de Desenvolvimento
Ambientes de Produção Testados por colaboradores da comunidade GITEC
Tradução (internacionalização)
Documentação