mirror of https://github.com/interlegis/sapl.git
1 changed files with 46 additions and 2 deletions
@ -1,3 +1,47 @@ |
|||
Bem-vindo à wiki do projeto SAPL. |
|||
# SAPL: Sistema de Apoio à Atividade Parlamentar |
|||
|
|||
Leia as [Diretrizes para a implementação](Diretrizes-para-a-implementação). |
|||
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](https://colab.interlegis.leg.br/wiki/ProjetoSapl) |
|||
|
|||
## 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 |
|||
|
|||
### Boa práticas |
|||
|
|||
* Mensagens de commit no padrão 50/72 colunas começando com um verbo no infinitivo. Vide: |
|||
- http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html |
|||
- http://stackoverflow.com/questions/2290016/git-commit-messages-50-72-formatting |
|||
* 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 que `git pull` => merge). |
|||
* (...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ário `sapl` tenha a permissão `create database` no postgres) |
|||
|
|||
### Testes |
|||
* 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` |
|||
|
|||
### Componentes |
|||
|
|||
* Bootstrap para templates (ter sempre dispositivos móveis e acessibilidade em mente) |
|||
* [Django Vanilla Views](http://django-vanilla-views.org) para views (e function based views para os casos mais simples) |
|||
* Urls semânticas |
|||
* [django-crispy-forms](http://django-crispy-forms.readthedocs.org/en/latest/) para forms com diagramação com Bootstrap |
|||
|
|||
### A definir |
|||
|
|||
* O que usar para API Rest. Provavelmente usaremnos o [django-rest-framework](http://www.django-rest-framework.org/). O Colab usou [django-tastypie](https://django-tastypie.readthedocs.org/en/latest/) |
|||
* O que usar para fazer forms de busca mais facilmente. Testar [django-filter](http://django-filter.readthedocs.org/en/latest/index.html) |
|||
|
|||
### 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 |
|||
|
Loading…
Reference in new issue