sexta-feira, 12 de maio de 2017

A Primeira Entrega se aproxima! - 10/05/2017



Estamos em 10/05 de 2017 e a primeira entrega do trabalho final está cada vez mais perto. A primeira entrega do trabalho é no dia 24/05 e a partir de hoje faltam exatamente duas semanas!

Em visto disso, as reuniões tem sido cada vez mais focadas em apresentar as entregas de cada um durante a semana. Nesta quarta-feira a equipe São Longuinho se juntou a fim de colocar em dia as tarefas da documentação.

Ate o presente momento, os seguintes tópicos já foram abordados finalizados:

  • Corpo do Documento - 100%
  • Introdução - 100%
  • Revisão de Literatura - 100%
  • Gerenciamento do Projeto - 100%
  • Desenvolvimento do Projeto - 70%
  • Conclusão - 0%
  • Apêndices - 60%

A equipe considera esta uma evolução boa e irá precisar focar sobretudo na descrição de diagramas técnicos e na parte de desenvolvimento do trabalho. Como previsto, a conclusão será uma das últimas partes a serem elaboradas, uma vez que abrange todo o conteúdo do trabalho.

A data que a equipe se propôs a finalizar a documentação é 17/05 e precisaremos trabalhar bastante para atingi-la!

quarta-feira, 3 de maio de 2017

O Levantamento de Requisitos – 03/05/2017


Para realizar o levantamento de requisitos do sistema, o método utilizado foi a observação e testes de mesa, onde foi realizado a análise do uso de sistemas com processos de cadastro de usuário, login, cadastros de objetos, entre outros aspectos similares ao do projeto em desenvolvimento.
O objetivo deste levantamento se dá pela necessidade de conhecer melhor cada detalhe da nossa aplicação e assim traçar um plano para seu desenvolvimento.

Como esperado, ao realizar esta analise, observamos que cada requisito do nosso sistema possui suas particularidades e relevâncias para o funcionamento da aplicação, sentimos a necessidade de classificá-los, assim conseguimos nos prepara melhor para o plano de desenvolvimento do sistema, essa classificação foi subdividida em “Essencial”, “Importante” e “Dispensável”, onde classificamos os como essencial aqueles requisitos que consideramos fundamentais para o funcionamento da nossa aplicação, os requisitos classificados como importantes são aqueles que fundamentam nosso sistema, porém são menos críticos que os classificados como essenciais, já os dispensáveis são os requisitos que desejamos que o sistema possua para facilitar a utilização e deixar nosso sistema mais robusto.

terça-feira, 2 de maio de 2017

Reunião para Acertos - 30/04/2017

Na reunião realizada em 30/04/2017, iniciamos falando sobre a parte documental do projeto, e terminamos discutindo sobre o desenvolvimento.

Os temas abordados sobre a documentação, foram a introdução e resumo do projeto, para definição do texto, que iria fazer parte do projeto. Quanto à documentação, foi firmemente batido na tecla da junção do Front-End com o Back-End, e a necessidade que eles tinham de caminhar juntos nesta reta final do projeto.

Definimos, para dar continuidade ao desenvolvimento, a regra de negócio sobre as categorias fixas de pesquisas no projeto, auxiliando o usuário à direcionar bem sua ocorrência, aumentando as chances de sucesso na recuperação.

Para finalizar a reunião, falamos sobre o controle sessões ativas do site, definindo que não faríamos o controle pelo banco de dados, apenas o controle em cache.

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.