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)


segunda-feira, 3 de abril de 2017

Reunião para acertos - 02/04/2017

No dia 02/04, a equipe São Longuinho se reuniu via Skype, para verificar a entrega de tarefas definidas anteriormente e definir a divisão das próximas etapas.

Entregas:

  • Banco de Dados
  • Análise de Risco
  • Demonstração do combo box
  • Escopo do Documento

  • Próximas tarefas:
    • Manual do Usuário
    • Revisão da Análise de Risco
    • Teste do Banco de Dados
    • Organizar projeto no Trello

    Foram entregues tarefas pré de finadas, que serão revisadas pelos membros do grupo durante a semana, incluindo o teste no banco de dados, que será feito na quarta feira (05/04/2017) durante a aula. Foram elencadas tarefas a cada membro do grupo para próxima semana.

    domingo, 2 de abril de 2017

    As URL's - 02/04/2017

    A correta utilização de uma API REST do lado do cliente está em grande parte em entender o mecanismo da URL do servidor. Podemos começar com um simples exemplo:

     
    O example_api é como mostrado acima um controlador (MVC) , podendo ser user, products, customers, etc. O users se trata de um recurso de uma base de dados, por exemplo, esse recurso interage com os verbos HTTP: GET, PUT, DELETE, POST, etc., para realizar as operações de CRUD: create, read, update e delete. Na atual versão do REST server utilizado o JSON é o padrão, dado sua popularidade e mais notável diferença para o xml que é sua menor verbosidade, mas permite como dito em uma postagem anterior, XML, HTML e CSV, para tanto é necessário requisitar um formato através da URL, como o exemplo a seguir:


    Onde format aceita xml, json, html, csv, conforme mostra a página de exemplos codeigniter-restserver:

    Ao permitir essa variada forma de se interagir com a API estamos aumentando as possibilidades para eventuais usos de aplicações lado do cliente independentemente da linguagem de programação utilizada, estes poderão escolher a melhor forma de se tratar as informações consumidas.