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