domingo, 24 de setembro de 2017

8ª Semana (18/09 - 24/09) - Desenvolvimento a todo vapor!

Olá!

Mais uma semana já se passou e a equipe continuou estudando bastante, fazendo a documentação e desenvolvimento back-end e front-end do projeto.

O principal assunto que discutimos esta semana foi sobre o comparador de preços, uma funcionalidade na qual o usuário poderia pesquisar o nome de um produto e obter o preço médio, máximo e mínimo de acordo com o preço pago das notas eletrônicas cadastradas. Porém, estávamos receosos quanto a que o comparador pudesse ter falhas já que dependeria de como o cliente pesquisou o produto, por ser possível existir versões diferentes do produto (por exemplo, Moto G4 e Moto G4 Plus) que poderiam afetar os preços exibidos pelo comparador. Então pensou-se em fazer um comparador de produtos, em que seriam listados os produtos de acordo com a busca do usuário e ele poderia clicar em algum item listado e verificar as informações de preço. Mas pesquisando e estudando mais verificou-se a possibilidade de prosseguir com a ideia inicial, apresentando o menor e o maior preço pago pelo produto e a média de valores; quanto mais específico o que o usuário digitar na pesquisa, mais filtrada a informação será e, por sua vez, mais acertadas as estatísticas geradas pelo comparador.

Os estudos desta semana se concentraram principalmente em JPA, Hibernate, Gource, UML, upload de arquivos em Java e LaTeX. Tendo sido estudado os conceitos de UML, na parte de documentação foi feito o diagrama de sequência de mensagens da consulta do Robô ao site da Secretaria da Fazenda e a estrutura do documento final em LaTeX.

Já na parte do desenvolvimento, no front-end foram feitos ajustes na página de cadastro automático da NFe e a página de cadastro manual das mesmas; a página de pré cadastro; página de visualização das notas cadastradas; refatoração da função de ler o html da página da Sefaz e exibir na tela para o cliente; além de correções de bugs e validações de campos. No back-end foram feitas correções no banco de dados; o cadastro da NFe; o envio de notificações e e-mails em Java; o comparador de preços; a criação e testes das classes Tag, Lembrete, NotaCompartilhada e NotaTag; o upload de arquivos em Java e o leitor de XML de NFes.

O quadro a seguir apresenta as atividades realizadas por cada integrante da equipe durante a semana:

Resumo das atividades realizadas - 8ª semana
IntegranteAtividades
Caique Borges Cadastro de NFe; ajustes no banco de dados; comparador de preços; diagrama de sequência de mensagens; notificações e emails em Java.
Fausto Tozo
Criação e testes de classes Tag, Lembrete, NotaCompartilhada e NotaTag; estudo de JPA e Hibernate.
Maíra Tabata Ajustes formulários de cadastro de nota automático; formulário de cadastro de notas manual; página de pré cadastro; página de visualização das notas cadastradas; refatoração da função de ler o html da página da Sefaz e exibir na tela para o cliente; correções de bugs e validações de campos.
Vivian Brazão Estrutura documento final em LaTeX; estudo do Gource; upload de arquivos em Java; leitor XML de NFe.
Quadro 1 - Atividades realizadas durante a oitava semana


Até a próxima semana!

Postado por: Vivian Brazão

domingo, 17 de setembro de 2017

7ª Semana (11/09 - 17/09) - Avanços do projeto

Olá!!

Já chegamos no post da sétima semana do projeto. Está passando mais rápido do que gostaríamos... Nesta semana, continuamos fazendo o desenvolvimento e documentação da Nota Digital. 

Tínhamos alguns problemas que surgiram na semana passada e que demandavam atenção especial, como nossa ferramenta de consulta automática, que nós do 4Labz carinhosamente chamamos de Robô. Ele havia parado de funcionar após termos trocado nosso serviço de hospedagem do Azure para a Amazon Web Services. O Robô tem um papel fundamental na nossa aplicação, pois é ele que traz as informações da nota fiscal eletrônica (NF-e) do sistema da Secretaria da Fazenda de São Paulo. Agora ele voltou a funcionar, podemos seguir adiante no desenvolvimento das outras funcionalidades.

Iniciamos o desenvolvimento front-end e back-end de algumas telas, como cadastro de clientes e NF-e. Porém, estamos tendo algumas dificuldades em fazer a integração do front e back-end, como no caso de cadastro da NF-e. Portanto, isso já será uma das prioridades pra a próxima semana.

Fizemos também o diagrama de casos de uso e a descrição textual dos casos de uso. Já tínhamos uma versão feita anteriormente, mas percebemos que precisávamos aprimorar essa parte da documentação. 

E estudamos. E como estudamos. JPA, Ajax, JQuery, Spring, LaTex... mas num sei, acho que ainda falta muito.


O quadro a seguir apresenta as atividades realizadas por cada integrante da equipe durante a semana:

Resumo das atividades realizadas - 7ª semana
IntegranteAtividades
Caique BorgesCadastro de cliente e NF-e; Pesquisa Ajax e JQuery.
Fausto Tozo
Diagrama de casos de uso; Descrição textual de casos de uso.
Maíra TabataTelas de cadastro de cliente, NF-e e login; Correção de responsividade de elementos das telas.
Vivian BrazãoAjustes no leitor de QR Code; Modelo da documentação em LaTex.
Quadro 1 - Atividades realizadas durante a sétima semana


Até o próximo post!!

domingo, 10 de setembro de 2017

6ª Semana (04/09 - 10/09) - Testes, alguns ajustes e... um batismo!!!

Olá!!

Inicio esta postagem falando sobre algo que estávamos pensando desde o primeiro dia do projeto. Qual seria o nome de nossa aplicação? Durante essas 6 semanas, era comum surgir o tema do nome, vinham algumas sugestões, mas nenhuma nos agradava no final.

Dar um nome para alguma coisa é mais difícil do que pensamos. Precisa fazer sentido, ter sonoridade agradável, ter significado... tivemos algumas ideias que pareciam agradar a todos, mas já eram nomes indisponíveis.

Então, em uma das conversas, surgiu o nome de nossa aplicação: Nota Digital. Sim, é um nome simples, quase óbvio... mas é justamente isso que nos agradou. Ufa, podemos seguir em frente, a falta de um nome era algo que estava incomodando a todos da equipe.

Esta 6º semana também deu seguimento ao desenvolvimento da Nota Digital. Foi feito o dicionário de dados, que depois serviu de base para a criação do código do banco de dados. Isso possibilitou que outros testes fossem feitos, como o sistema de login iniciado na semana passada.

O front end caminhou bastante com a criação do layout geral da aplicação, das telas de cadastro de usuário e NF-e, além de testes em desktop e mobile.

Decidimos trocar o servidor da aplicação. Deixamos de lado o Microsoft Azure devido limitações da assinatura que é disponibilizada aos alunos e migramos para a Amazon Web Services (AWS). Iniciamos os testes na AWS com a criação de um web service para hospedagem da nossa aplicação.

Nossa reunião no início da semana também trouxe importantes pontos sobre o escopo da Nota Digital e consequente necessidade de adequação da documentação que havíamos feito. Decidimos limitar o escopo dos serviços que a Nota Digital irá prestar. Nossa ideia inicial era dar suporte às Notas Fiscais eletrônicas (NF-e), mas posteriormente tínhamos incluído também Notas Fiscais de Consumidor eletrônicas (NFC-e), que utiliza outro sistema para provimento das informações ao consumidor e, por isso, voltamos à nossa ideia original.

Para a próxima semana, temos atividades muito importantes relacionadas à continuidade do desenvolvimento da nossa aplicação. Apesar de ter dito que fizemos avanços tanto no front quanto no back end, também passamos a enfrentar algumas dificuldades para o correto funcionamento de tudo que fizemos ao longo da semana. Por exemplo, a aplicação que fazia automaticamente a consulta às informações da nota fiscal no sistema da Secretaria da Fazenda de São Paulo não está mais funcionando adequadamente após ser hospedado na AWS. O layout do nosso sistema também precisa de ajustes para se adaptar à qualquer tamanho de tela de dispositivo.


O quadro a seguir apresenta as atividades realizadas por cada integrante da equipe durante a semana:

Resumo das atividades realizadas - 6ª semana
IntegranteAtividades
Caique BorgesCódigo do banco de dados; Teste do servidor; Ajustes na aplicação de consulta automática da NF-e; Criptografia de dados.
Fausto Tozo
Criação de conta na AWS; Criação de servidor; Testes do servidor; Adequação da documentação.
Maíra TabataDicionário de dados; Layout do sistema; Refatoração do script de varredura de HTML das NF-e.
Vivian BrazãoMER; DER; Template de atas de reunião; Ajustes no leitor de QR Code.
Quadro 1 - Atividades realizadas durante a sexta semana


Até o próximo post!!

domingo, 3 de setembro de 2017

5ª semana (28/08 - 03/09) - Foco no desenvolvimento e acompanhamento do projeto

Olá :)

Durante esta semana, após a realização do Sprint Planning Meeting na segunda-feira (28/08), optamos por desenvolver as tarefas primordiais para o projeto, deixando um pouco de lado as atividades com pouca prioridade do Product Backlog. Deste modo, o desenvolvimento teve peso importante para o planejamento semanal de atividades. 

Seguindo a programação, após levantamento, foi desenvolvido o diagrama de caso de uso. Por ser um dos requisitos para outra matéria que utilizará a mesma documentação, uma versão resumida foi criada, exclusivamente para a entrega nesta semana. Junto a isto, também foi dado início a descrição de caso de uso. 

Posteriormente, para o desenvolvimento da aplicação, foi dado início a modelagem e testes do banco de dados e a conclusão do sistema de login. Por questão de boas práticas e organização, todas as classes criadas no projeto estão sendo documentadas, no qual é gerado um Javadoc no final. Também estão sendo realizadas pesquisas e testes em relação à leitura de QRCode (disponíveis em cupons fiscais) utilizando a biblioteca para Java ZXing, e leitura do conteúdo de arquivos utilizando o iText, uma biblioteca OpenSource que possibilita a criação e manipulação de documentos em formato PDF, além de XML e RTF, que são extensões comumente utilizadas em Notas Fiscais Eletrônicas (NF-e). 

Em seguida, em reunião, foram decididos os campos da nota fiscal a serem lidos e, após isso, o script para varrer a página HTML e capturar os dados importantes foi reescrito em JQuery, o que nos fez economizar muitas linhas de código. E finalmente, no fim da semana, foi desenvolvida a página de login, o menu lateral e superior foi criado e a página inicial começou a ganhar forma. Até o final da sexta semana, pretendemos estar com a maioria das páginas concluídas, com o layout completamente estruturado. 

Para o gerenciamento, as métricas para acompanhamento do projeto foram finalmente consolidadas e o cronograma está em processo de reformulação. Também começamos a utilizar o Slack, um software de comunicação de equipes que centraliza todas as informações, dividindo-as por canais específicos. Deste modo, temos todas as conversas em um único lugar, organizadas por assuntos, o que aumentou a produtividade dos integrantes e diminuiu tempo de resposta para tirar dúvidas, dar sugestões ou até mesmo informar sobre sua respectiva atividade diária (no caso, uma adaptação que fizemos do Daily Scrum). 

Para a próxima semana, pretendemos concluir os testes com as opções de servidores existentes (que é ponto de atenção que está nos dando trabalho) e, possivelmente, utilizar o pré-processador CSS SASS, visando estender a capacidade da linguagem de folha de estilos pura, melhorando a manutenção do código e deixando o CSS mais flexível e reutilizável. 

Em síntese, o quadro a seguir apresenta as atividades realizadas por cada integrante da equipe durante a semana:

Resumo das atividades realizadas - 5ª semana
IntegranteAtividades
Caique BorgesSistema de Login inicial; Documentação das classes; Testes com banco de dados; Teste do servidor
Fausto Tozo
Diagrama de caso de uso; Descrição dos casos de uso; Levantamento dos campos da NF-e para captura e teste do servidor; 
Maíra TabataLevantamento de casos de uso; Leitura do código HTML usando JQuery; Página de Login; Menu lateral e superior e estrutura geral do Layout. 
Vivian BrazãoLeitura de QRCode e PDF com Java; Diagrama de caso de uso; Descrição dos casos de uso;
Quadro 1 - Atividades realizadas durante a quinta semana
 

Para essa semana é isso. Até o próximo post :)