sábado, 22 de abril de 2017

Rotas - 22/04/2017


A configuração de rotas trata-se simplesmente de uma técnica para tornar as URLs mais semânticas, além de permitir mais de uma forma de acessa-la, isso ajuda e permite melhor interação com mecanismo de busca que desconsideram caracteres especiais. No Codeigniter, instanciamos um dado controller e acessamos um método, conforme imagens abaixo.

Por exemplo, um link para a página de ocorrências:

View:


<a href="<?php echo site_url('Occurrence') ?>" class="hvr-underline-reveal">Ocorrência</a>  




Controller:

class Categoriacontroller extends CI_Controller

{

 function add()

    { 

        $this->load->library('form_validation');



         $this->form_validation->set_rules('categoria_nome','Categoria Nome','required|max_length[50]');
      
        if($this->form_validation->run())   
        { 
            $params = array(
                'categoria_nome' => $this->input->post('categoria_nome'),
            );
          
            $tb_categoria_id = $this->Categoriamodel->add_tb_categoria($params);
            redirect('categoriacontroller/index');
        }
        else
        {
            $this->load->view('categoriamodel/add');
        }
    } ....


Para site_url('Occurrence') acessar o controller correto é necessário especificar a rota:

arquivo: application/config/routes.php


$route['Occurrence'] = 'CategoriaController/add';




sexta-feira, 21 de abril de 2017

Autenticações com Firebase - 21/04/2017




De acordo com a orientação geral do projeto St. Locator de criar soluções a partir de frameworks e APIs já estabelecidas como forma de agilizar o desenvolvimento, utilizaremos o Firebase para gerenciar as autenticações de usuários. Essa API do Google reúne diversas soluções para o desenvolvimento de aplicações mobile e web, como banco de dados, telemetria, hosting de aplicações, testes automatizados, notificações push, publicidade, e claro, a autenticação. 

Essa solução possui interessantes atrativos como a utilização de redes sociais para realizar o login de usuários, entre as quais temos as opções de contas do Google, Facebook, Twitter e Github, no entanto para nossa aplicação optamos por por não utilizar os dois últimos. Além disso, há a opção de usar e-mail e senha não relacionados à redes sociais, esse processo é plenamente suportado pelo Firebase que disponibiliza cadastro, verificação e alteração de senha, mas caso seja utilizado um e-mail cujo provedor seja conhecido ele passa à associar ambas ao mesmo UID conforme a imagem abaixo:





A integração é muito fácil de ser feita e não exige conhecimento avançado em infraestrutura e programação, pois além de excelentes tutoriais, a forma de configuração em console torna tudo muito simples e intuitivo. Sendo o único ponto que exige mais atenção a interação com o Facebook, que se trata de outro contexto onde é preciso criar um conta de desenvolvedor e configurar permissões para permitir a integração de suas API de login, mas nada muito complexo.

domingo, 16 de abril de 2017

Reunião para acertos - 16/04/2017

Reunião realizada via Skype, para fazer acertos sobre tarefas distribuídas anteriormente para os membros da equipe.



  • Revisão de Literatura a respeito dos tópicos de front-end, banco de dados, análise de risco, perdas de itens, homologação e testes.
  •  Rotas da aplicação
  •  Firebase para autenticação
  •  Cronograma;
  •  Planejamento do projeto;
  •  Ambiente e servidor;
  •  Configuração da documentação no Trello.

Com a data da entrega do projeto cada vez mais próximo, foi apresentado o progresso do projeto, referente a documentação e desenvolvimento, através do cronograma.

segunda-feira, 10 de abril de 2017

SSL, certificado e teste Qualys SSL Labs - 10/04/2017

Para a segurança da comunicação do servidor web, é necessário utilizar SSL. O certificado escolhido para nosso servidor foi o certificado da autoridade Let's Encrypt, que provê certificados gratuítos para utilização em websites, validando sua segurança. A Let's Encrypt emite certificados válidos por 90 dias, e a autoridade encoraja a automatização do processo de renovação através do seu cliente de instalação e renovação, o certbot.

Implantamos o certificado do Let's Encrypt em nosso servidor Apache, e realizamos testes com a ferramenta da Qualys SSL Labs, a SSL Server Test. Em um primeiro momento, após a implantação, nosso servidor (já configurado e certificado) recebeu nota A (a mínima que o projeto exige para aprovação). Em aula, foi sugerido pelo Prof. Ivan a obtenção da nota A+ (nota máxima do SSL Server Test), onde tivemos que pesquisar e entender o funcionamento do mecanismo de segurança HSTS (HTTP Strict Transport Security), que permite a comunicação estritamente via HTTPS com nosso servidor,  necessário para obtenção da maior nota possível no teste.

Após a implementação do HSTS, obtivemos a nota máxima no Qualys SSL Server Test.



quinta-feira, 6 de abril de 2017

Aula - 05/04/2017

Foi realizado em aula por todos os membros do grupo o teste no banco de dados.
Foi distribuído tarefas referentes a REVISÃO DA LITERATURA, entrega agendada para 12/04/2017.

  • Perdas de itens e homologação (Edicrede)
  • Concorrência, gerenciamento de projeto e análise de requisitos (Bruno)
  • Uml (Leandro)
  • Bancos de dados (Matheus)
  • Front – End e infraestrutura (Gustavo)
  • Back – End (Aleson)