O Projeto

Edely edited this page Apr 11, 2016 · 43 revisions

TIGRE (Transparência de Invstimentos Governamentais Rastreados Eletronicamente)

##Índice

###TIGRE - Topo TIGRE é um acrônimo para Transparência de Investimentos Gerados por Rastreamento Eletrônico

A plataforma TIGRE foi concebida não apenas como um aplicativo, mas um framework para o desenvolvimento de filtros para a apresentação de dados padronizados.Isso se faz por meio da consulta padronizada de bases de dados públicas e a partir de uma camada de filtros disponibiliza consultas na forma de uma API(Aplication Program Interface) de consolidação. Essa API pode ser utilizada para a criação de aplicativos com frontends nativos de plataformas desktop, websites ou aplicativos mobile. Seguindo as boas práticas de desenvolvimento multi-camada, foi utilizada um modelo de arquitetura de software que separa a interação do usuário da representação da informação.

###Motivação - Topo

Funcional - Topo

Ausência de ferramentas intuitivas para exibir como os repasses de recursos federais são feitos aos governos estaduais, municipais e às OSC´s.

Técnica - Topo

Criar uma plataforma com recursos extensíveis a outras bases, permitindo o cruzamento de informações. Essa abordagem, associada à exposição de possíveis inconsistências na interface de consulta, força a inclusão das correções nas bases corretas ou no mínimo permite a criação de estruturas de correção das bases existentes, minimizando a multiplicidade de dados que causam novas inconsistências. No que tange ao cidadão a forma de apresentação dos dados feita de forma gráfica e georreferenciada, tornando intuitivo o processo de assimilação. A interface propositalmente simples e em tela única, tornando-a objetiva. Representantes das Organizações da Sociedade Civil ou Gestores Públicos podem perceber e corrigir da forma mais correta seus dados na fonte dos dados indicada como inconsistente nas regras definidas previamente.
A interface de apresentação dos dados pode ser feita de diversas formas, e a API de consultas é exposta na forma de uma API padronizada e extensível, permitindo a interoperabilidade com outros sistemas e a criação de novas formas de visualização como por exemplo aplicativos mobile. A interface de visualização dos dados é independente inclusive do código do lado do servidor, utilizando apenas as tecnologias HTML5, CSS3 e javascript. Isso é uma prática recomendada, de forma que toda aplicação desenvolvida pode ser portada para todas as plataformas mobile suportadas pelo projeto Apache Cordova, como IOS, Android, Windows Phone e Blackberry, sendo assim possível acessar suas API´s nativas, com muito pouco código adicional e assim oferecendo acesso ao hardware subjacente, como o acelerômetro, câmera, GPS e outras funcionalidades desses dispositivos como notificação (alerta, som, vibração).

Tecnologia Utilizada- Topo

A plataforma TIGRE foi concebida não apenas como um aplicativo, mas um framework para o desenvolvimento de filtros para a apresentação de dados padronizados.Isso se faz por meio da consulta padronizada de bases de dados públicas e a partir de uma camada de filtros disponibiliza consultas na forma de uma API de consolidação. Essa API pode ser utilizada para a criação de aplicativos com "frontends" nativos de plataformas desktop, websites ou aplicativos mobile. Seguindo as boas práticas de desenvolvimento multi-camada, foi utilizada um modelo de arquitetura de software que separa a interação do usuário da representação da informação. Os dados da aplicação, regras de negócios, lógica e funções são tratados como um Modelo. Qualquer saída de representação dos dados, como uma tabela ou um diagrama é uma Visão.

Assim é possível ter várias visões do mesmo dado, como um gráfico de barras para gerenciamento estatístico e uma visão em tabelas para uma análise discreta.

A mediação da entrada, convertendo-a em comandos para um Modelo ou Visão é feita pelo Controlador.

A ideia central por trás desse modelo MVC (Modelo,Visão e Controlador) é a reutilização de código e a separação de conceitos.

O framework MVC adotado é o Laravel.

Os principais motivos de sua escolha comparado a outros frameworks são:

Linguagem de programação PHP; Licença MIT; Maturidade do Framework ( versão 4.2.x); Excelente documentação; Segurança; Facilidade de uso por usuários iniciantes; Suporte a módulos, extensões e plugins ( mais de 8000); Multiplataforma; Performance; Suporte multibanco; Facilidade de configuração; Comunidade de desenvolvimento ativa; Possibilidade de reutilização de código na criação de Webservices.

Front End - Topo

  1. HTML 5;
  2. CSS3;
  3. Java script / jQuery;
  4. JSON;
  5. Google Maps API;
  6. PhoneGap.

Back End - Topo

  1. PHP / MySQL;
  2. Laravel Framework PHP;
  3. Apache Server;
  4. Debian GNU/Linux;
  5. Vagrant / Virtual Box;
  6. LibFann.

####Design - Topo

  1. Inkscape;
  2. Gimp.

###Características da Interface - Topo

####Visualização da Informações - Topo

  1. Repasse Nacional: Exibição dos recursos totais repassados pelo Governo Federal aos Estados, Municípios e OSC´s.
  2. Repasse por região: Exibição dos recursos totais repassados pelo Governo Federal por região aos estados, municípios e OSC´s?.
  3. Repasse por estado: Exibição dos recursos totais repassados pelo Governo Federal aos municípios e às OSC´s?.
  4. Repasse por município: Exibição dos recursos totais repassados pelo Governo Federal às OSC´s por área de atuação. Nessa visualização será possível verificar o endereço sede das OSC´s.

###Licença Salvo restrições em contrário, todo o código fonte desse projeto é disponibilizado sob a licença MIT.

A licença do projeto Apache Cordova é permissiva (Apache 2.0), indo ao encontro das pretensões deste projeto ser referência nos processos de implementação e boas práticas, independente das esferas em que venha a ser utilizado, inclusive por aplicações e banco de dados que pela sua natureza não são abertos ou públicos.

A inclusão da biblioteca jqplot é Dual entre MIT e GPL2, sendo-nos permitido a escolha de uma delas, no caso MIT.

###Usabilidade/Acessibilidade

A visualização de dados por meio de gráficos e de rotinas de visualização simultânea em tabelas, permite que a acessibilidade esteja garantida a todos os públicos.

###Evolução da ferramenta - Topo O sistema está sendo construído para suportar a inclusão de multi-camadas (layers) futuras, permitindo sua evolução e escalabilidade.

Será disponibilizada uma API para que outros desenvolvedores possam usar em seus projetos.

####Futuras funcionalidades - Topo

  1. Emenda parlamentar por pessoa;
  2. Opção de assinar o serviço (e-mail e SMS) para receber atualizações;
  3. Compartilhamento dos dados visualizados em redes sociais;
  4. Mostrar no mapa as áreas de influência de cada OSC, ou seja, a abrangência de atuação;
  5. Georreferenciamento correto dos endereços;
  6. Opção de denunciar uma OSC;
  7. Opção de avaliar uma OSC;
  8. Detectar fraudes a partir de Rede Neural. Exemplo: Uma determinada OSC gastando com shows, quando os recursos deveriam ser direcionados para educação.

Pitch do Projeto no Hackthon das OSC´s - Topo

Assista ao Pitch do Projeto no Youtube

###Como executar o projeto - Topo Aprenda aqui como executar o projeto