Skip to content
Caio Viotti edited this page Jul 15, 2015 · 13 revisions

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

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

Instalação do Ambiente de Desenvolvimento

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
    
  • Configurar o PostgreSQL

  • Crie um role "sapl" com:

    • senha "sapl",
    • o privilégio "can create databases",
    • uma data de expiração distante (ou infinita, usando p.ex. ALTER ROLE sapl VALID UNTIL 'infinity';
  • Crie um banco "sapl" com owner "sapl".

  • Restaure o dump do banco de desenvolvimento.

  • Na primeira vez que rodar os testes use py.test --create-db. Depois disso pode usar simplesmente py.test.

Boas práticas

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 para views (e function based views para os casos mais simples)
  • Urls semânticas
  • django-crispy-forms para forms com diagramação com Bootstrap

A definir

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

Clone this wiki locally