quarta-feira, 12 de dezembro de 2018

SEMANA - 06/DEZ A 12/DEZ

No dia 05/12 tivemos a segunda entrega do projeto, documentação e aplicação.

Foram apresentadas as alterações e evoluções do sistema em sala de aula, assim como novo documento com as correções apontadas pelos professores na primeira entrega da documentação.

Nesta entrega apresentamos uma evolução no desenvolvimento da aplicação e pudemos apresentar além do fluxo inicial de criação de cadastro e login, a visualização da vitrine, chat entre consultora e cliente, fluxo de adição de produto ao estoque, alteração de dados cadastrais do usuário, fluxo de entrada e saída do estoque, fluxo de pedido desenvolvido na API, fluxo de extração de dados dos catálogos.

Com relação a documentação mostramos as alterações realizadas, como alteração da ordem de tópicos apresentada na primeira entrega e correções gerais de modelagem, ortografia e erros da entrega anterior correlacionados ao mau uso do Latex.

Ainda assim, foram apontados alguns problemas no modelo de banco de dados relacionados ao modo como pensamos e modelamos o estoque da aplicação e o fluxo de entrada e saída, ou seja, a movimentação, e por isso solicitaram nova apresentação no dia 12 de dezembro.

Nos preparamos então para apresentação no dia 12 de dezembro procurando completar nosso documento com partes que não foram colocadas até então, como o Plano de Testes.
Também reavaliamos nossa modelagem com ajuda do professor João Vianei Tamanini a quem agradecemos imensamente pela atenção dada para nos ajudar a resolver os problemas apresentados.
Programamos, para todos os membros, atividades de documentação a serem realizadas, correções e adições e atividade de desenvolvimento para implementação das correções.

Também tivemos que novamente realizar uma avaliação individual e dos demais membros do grupo, que mostrou, como apresentado nas semanas anteriores, a insatisfação e problemas com o membro Dênis. Entre os resto da equipe as notas foram semelhantes e demonstraram o esforço e dedicação apresentados por cada uma das participantes

Vamos para essa terceita etapa com a esperança de que seja suficiente para aprovação na disciplina e formação no curso.





sábado, 8 de dezembro de 2018

SEMANA - 28/NOV A 05/DEZ

A semana de 28 de novembro a 05 de dezembro foi crucial para a finalização de todas as correções da documentação e implementações pendentes na aplicação.

A documentação passou por uma reestruturação total com adições de texto, retirada de itens que a equipe identificou como desnecessários para o documento e que estavam incoerentes e desenvolvimento de novos itens para completude do documento e entendimento e apresentação do projeto.

A aplicação passou por uma evolução, onde conseguimos implementar a visualização dos catálogos e produtos inseridos pela administração do sistema, assim como a visualização da vitrine de produtos cadastrados em estoque dos consultores e seus detalhes, chat para comunicação entre consultora e cliente, o fluxo de completar cadastro e a API de criação de pedidos.

A extração de dados teve grande evolução, sendo integrada a aplicação e conseguindo ser visualizada de forma palpável pelos professores.

Nesta semana continuamos com problemas na equipe com o membro Dênis, que se mostrou pouco pró ativo na execução de tarefas e por isso atuou de forma extremamente pontual em tarefas de complexidade muito baixa na documentação, levando a uma insatisfação geral com sua participação e ineficiência em ajudar a equipe. Desta forma os outros membros tiveram que se desdobrar para trabalhar na documentação e desenvolvimento do sistema paralelamente e muito ativamente.

quarta-feira, 31 de outubro de 2018

SEMANA - 25/OUT A 31/10



Finalmente estamos encaminhando para as últimas etapas da disciplina situação que tem intensificado as produções e os focos da equipe. Nessa semana, alguns fluxos foram focos para que pudessem ser finalizados como por exemplo o desenvolvimento do fluxo de inserção de produto no estoque, fluxo de cadastrar pedido, estilização no menu lateral da área logada, inserção de hotjar na aplicação frontend e configuração DNS no Heroku por exemplo. Havíamos estimado mais atividades para a semana, porém as tarefas realizadas tomaram mais tempo que o esperado e não conseguimos concluir todos os cards propostos.

Continuamos encontrando bastante dificuldade com a parte técnica para que possamos ser mais produtivos, porém, sempre adotamos o método semelhante ao Rubber duck debugging (Debug com Pato de Borracha) que consiste em explicar o problema descrevendo linha a linha do código. No nosso caso não utilizamos o pato de borracha e sim os próprios integrantes do time, pois assim uma visão de fora já consegue identificar erros com mais facilidade e já notificar.




Contudo a aplicação, sinceramente, está um tanto atrasada para o tempo que temos. Como temos uma das principais entregas semana que vem que é a documentação já nos dividimos e montamos um cronograma para aproveitar o feriado e focar neste ponto para que possamos finalizá-la e entrega-la completa.

quarta-feira, 24 de outubro de 2018

SEMANA - 18/OUT A 24/OUT

As tarefas nas quais a equipe trabalhou neste foram:

  • elaboração do chat de conversa entre consultor e cliente;
  • busca de produtos por localização;
  • segurança dos headers da aplicação back-end;
  • criação do envio de e-mail de lembretes;
  • elaboração do diagrama de classes;
  • redação de documento sobre o processo de extração de dados dos catálogos;
  • cadastro de catálogo;
  • MER e DER do banco de dados do sistema;
  • desenvolvimento do fluxo de atualização de senha;
  • desenvolvimento do fluxo de recuperação de senha;
  • inserção do hotjar na aplicação front-end;
  • postagem no blog;
  • desenvolvimento do fluxo de cadastro de pedido;
  • desenvolvimento do fluxo de inserção de produto no estoque;
  • relatório de estatísticas gerado com o StatSVN;
  • hospedagem de imagens em um S3 na Amazon;
  • descrição de caso de uso;
  • elaboração dos diagramas de caso de uso;
  • DFD nível 0 e 1 do sistema;
  • redação de texto sobre as escolhas de tecnologias e estruturas relativas ao front-end e ao back-end;
  • redação do documento de identidade visual; e
  • redação do texto sobre as regras de negócio.

quinta-feira, 18 de outubro de 2018

SEMANA 10/OUT A 17/OUT

Nesta semana realizamos um levantamento das atividades ainda pendentes de desenvolvimento na aplicação e da documentação,sendo que a última vem sendo acompanhada por meio de uma planilha gerada pelos membros Rayane e Dênis.

Dentre as atividades pendentes estão e que foram inseridas no acompanhamento via Trello para que sejam realizadas:

  • Realização de disparos de e-mail para os lembretes inseridos nos momentos de inclusão de pedido.
  • Busca de produtos.
  • Descrição de tecnologias utilizadas no frontend e backend da aplicação para inserção na documentação.
  • Pendência de diagramas arquiteturais e de sistema para a documentação, como casos de uso, diagrama de classes e diagrama banco de dados.
  • Descrição da identidade visual do sistema.
As atividades realizadas durante a semana concentram-se na correção de testes unitários do sistema, estudo de e aplicação de transações de banco de dados nos fluxos que estão sendo desenvolvidos, que são, cadastro de pedido e cadastro de estoque de produtos, hospedagem das imagens do tratamento de catálogos em S3 da amazon para facilitar o manuseio das imagens e poupar o banco de dados, além da redação da documentação.
A análise estática continua sendo aplicada no projeto por meio de ESLint e os testes unitários vem sendo rodados e incrementados com a utilização do Jest.


quarta-feira, 10 de outubro de 2018

SEMANA 04/OUT A 10/OUT

A sprint da semana continua com tarefas de produção da documentação, mas está principalmente focada no desenvolvimento front e back-end da aplicação, algumas atividades estão especificadas abaixo:
  • Configuração do Cropper.js para utilizar na extração das imagens no catálogo.
  • Programando teste para catálogo, marca, usuário administrador, pessoa, pedidos;
  • Desenvolvimento do menu interno da consultora;
  • Inserir validação no formulário de cadastro inicial;
  • Ajustes no banco de dados;
  • Padronização de código de acordo com padrão NodeJs;
  • Tratamento de erro no ESLint;
  • Alteração da grid geral do site, para torná-lo responsivo
  • Desenvolvimento front e back da vitrine de produtos; 
A equipe reuniu-se no sábado com foco em sanar dúvidas e padronizar os códigos de forma que todos estejam sintonizados.

quarta-feira, 3 de outubro de 2018

SEMANA 27/SET A 03/OUT

Durante essa sprint, a equipe permaneceu na produção da documentação necessária, bem como no desenvolvimento front e back-end da aplicação, que serão especificados abaixo:


  • Desenvolvimento da extração automatizada das imagens de catálogo e o tratamento dos caracteres capturados na imagem com regex. Sendo o catálogo da Tupperware o primeiro padrão realizado;
  • Documentação Swagger JSDoc para as rotas de catálogo, marca, pessoa, pedidos, produtos, lembretes;
  • Desenvolvimento do layout da tela inicial da consultora no photoshop;
  • Criação de validação para cadastros e alterações nas tabelas do banco de dados;
  • Ajustes no banco de dados;
  • Casos de uso de login, cadastro de usuário e recuperação de senha;
  • Correção da estrutura do menu do site;
  • Alteração da grid geral do site, para torná-lo responsivo
  • Desenvolvimento front e back da vitrine de produtos; 
  • Correção da autenticação de x-access -token para Baerer;
  • Estruturação dos tópicos do projeto;
  • Estruturação e criação textual da documentação;

Durante essa semana decidimos criar uma regra para quando alguém se sentir estagnado na tarefa que estiver desenvolvendo: criar casos de uso necessários para a documentação. Assim ninguém fica ocioso quando uma tarefa não estiver evoluindo e a outra parte do projeto também é agilizada.

sexta-feira, 28 de setembro de 2018

SEMANA 20/SET A 26/SET

Durante os últimos dias, o grupo persistiu nas atividades pendentes para a base do projeto. Paloma, Samara, Rayane e Priscila  seguiram com o estudo e desenvolvimento do front-end e back-end da aplicação, além da revisão da documentação que segue sendo produzida e organizada pelo Dênis.

Paloma prosseguiu na tarefa de extração dos produtos dos catálogos e configuração da biblioteca OCR Tesseract. Agora é possível ler uma imagem e extrair os dados dos produtos, utilizando o Regex para o tratamento.

Rayane esteve desenvolvendo a documentação Swagger JSDoc e rotas, por fim inseriu na aplicação com ajuda da Samara. Durante a semana, ela sentiu dificuldade em realizar a autenticação dentro do Swagger. Nesse meio, tempo ela criou fluxogramas dos processos da aplicação.

Samara conseguiu implementar o Swagger na aplicação, servindo ele dentro da estrutura com Swagger UI e documentos a partir de comentários das rotas com Swagger JSDoc. Durante a semana, também criou a autorização via JWT, que permite o acesso às rotas privadas da aplicação, inseriu a autorização no header e criou um arquivo de filtro reutilizável por todo sistema. 

Documentação Swagger JSDoc Criação de Pessoa


Priscila permaneceu no desenvolvimento front-end e está estudando Angular JS e HTML5, por conta das dificuldades encontradas na produção das novas telas.

Dênis permaneceu estudando a ferramenta LaTeX e, a partir dos documentos produzidos na disciplina de A5MAE, está produzindo a documentação do projeto.

Além do desenvolvimento, o grupo dá a orientação necessária e faz a revisão da documentação que está sendo desenvolvida pelo Dênis.

domingo, 23 de setembro de 2018

Estrutura de Front-end do projeto

A fim de organizar a estrutura do front-end da aplicação, optamos por utilizar a segmentação dos arquivos  de estilo de acordo com sua utilização no desenvolvimento. Por exemplo,  tudo que for estilo de botão, está no arquivo _buttons.scss e posteriormente esse arquivo é chamado em um arquivo principal  (_main.scss) que contém todos os estilos criados. Isso facilita muito na edição e criação de estilos, já que é fácil de encontrar e modificar o que for necessário somente por saber de que parte da aplicação se trata.

Tela com exemplo de um arquivo scss

Uma outra feature que facilita muito o desenvolvimento é a possibilidade de criação de cores      indexadas, onde setamos uma variável com a cor desejada e podemos utilizar essa cor em todo o projeto e , caso seja necessário no meio ou fim do projeto, a mudança dessa cor, basta trocar no arquivo onde a variável foi criada.

Tela do _main.scss

quarta-feira, 19 de setembro de 2018

SEMANA - 13/SET A 19/SET

Prosseguimos os trabalhos do grupo nas últimas semanas com a evolução da proposta do tratamento de dados dos catálogos das marcas, adicionando processamento ao projeto e também com o desenvolvimento do restante da aplicação e documentação.

Houve uma perda no grupo, com a desistência do membro Raul Abreu Pavan, e por isso, procuramos redistribuir as tarefas e avaliar qual seria a melhor posição a se tomar, ficando decidido que quatro membros do grupo trabalharão de forma contínua com o desenvolvimento, e um membro ficará focado no desenvolvimento da documentação com LaTeX contando com o auxílio pontual do restante do grupo, ficando decidido, então, que Samara, Paloma, Priscila e Rayane, trabalharão com desenvolvimento da aplicação e Dênis trabalhará no desenvolvimento da documentação.

Após algumas semanas de empenho na extração de dados dos catálogos, encontramos alguns obstáculos e não conseguimos, efetivamente, conectar o OCR a aplicação, de modo a realizar uma extração completa internamente. Conversamos então com os professores Ivan e Daniel e alinhamos uma estratégia mais focada, assim como caminhos alternativos para realização do processamento. A conversa com os professores foi muito importante para dar luz as nossas dúvidas e definir uma forma de atacar as necessidades de forma dirigida e focada.

Divisão de Tarefas


Até o momento estavam trabalhando, exclusivamente com essa questão, Raul e Paloma, e sendo assim, a partir da saída do Raul, a tarefa foi direcionada inteiramente para a Paloma, que conseguiu avançar no tratamento dos dados com Regex e por isso continuará com a evolução desta parte do projeto, sempre solicitando ajuda quando julgar necessária e contando com o apoio do restante dos membros. Paloma também tem trabalhado na evolução dos testes automatizados do sistema.

Extração OCR


Priscila segue com o desenvolvimento do frontend do projeto, criando os componentes e as classes bases de estilo, necessárias para toda a aplicação, e que são a base do reaproveitamento do código frontend e além disso vem criando as views do projeto. Trabalhou também no desenvolvimento do template responsivo do e-mail de confirmação de cadastro, com a utilização de framework que proporciona desenvolvimento de e-mails responsivos e de alta qualidade e na criação de validações de formulários com utilização da diretiva ui-validate.

Sass


Rayane continua com seu trabalho no desenvolvimento do projeto backend, desenvolvendo os serviços dos CRUD's da aplicação, trabalhando também no aprimoramento e criação da nossa estrutura de dados, no envio do e-mail de confirmação de cadastro e na criação da documentação do swagger da aplicação, que vem sendo um grande desafio.


Swagger


Samara dedicou tempo a organização de partes do projeto que foram modificadas e extinguidas, além da criaçao do middleware de autorização de toda a API, que está sendo realizada com a utilização de JWT ( Json Web Token ), dessa forma, hoje, a aplicação possui rotas públicas e rotas privadas que são acessadas apenas com a utilização de token e validação do mesmo pelo sistema, que só é gerado a partir do login com sucesso. Além disso também tem trabalhado no desenvolvimento dos testes unitários e de cobertura do sistema e na implementação da validação dos dados de requisição com o JOI, adicionando uma camada de Business ao nosso projeto, que estará entre a Controller e os Models.

Diagrama de obtenção e utilização de JWT

Dênis tem dedicado seu tempo inteiramente para o evolução da documentação com a utilização de LaTeX, adiantando tudo que é possível com relação a documentação e contando com a ajuda do restante do grupo para validação e auxílio nas eventuais dúvidas.

LaTeX


Consideramos que a saída de um membro é bastante impactante no que diz respeito as tarefas que devem ser entregues, no entanto, estamos procurando redistribuir as tarefas de forma justa e nos dedicando o máximo possível para entregar um trabalho de qualidade.

As próximas semanas incluem muito desenvolvimento de aplicação e documentação, com foco em validações e testes unitários no backend e desenvolvimento de telas e fluxos no frontend.