sexta-feira, 27 de setembro de 2019

8ª Semana - Validação, correções e prazos

Durante essa semana fizemos a validação dos nossos modelos com os professores. O Ivan respondeu o nosso e-mail com os requisitos e fez alguns comentários e apontou alguns problemas que havíamos deixado passar. Na última quinta-feira(26/09) fizemos a validação presencialmente com o professor Braz. Durante essa validação decidimos que o nome mais apropriado e genérico seria “local”. Fizemos as alterações no requisito com base nos apontamentos dos professores. 

Também começamos a criar nossas tabelas no banco de dados com base no nosso modelo. Mas durante a execução dessa atividade percebemos que o nosso modelo tem alguns problemas que passaram despercebidos durante a modelagem. 

O professor Braz no alertou sobre os prazos da próxima entrega. Falta um pouco mais de um mês para primeira entrega e ainda estamos finalizando às modelagens. Será necessário correr com às atividades.

sexta-feira, 20 de setembro de 2019

7ª Semana - Modelagem e responsabilidades

Durante a última semana a maioria do time ficou focado em finalizar os requisitos funcionais, não funcionais, regras de negócio e o modelo do banco de dados. No último sábado (14/09) nos encontramos no bom e velho starbucks para concluir algumas atividades e planejar nossa semana. A principal dificuldade em relação às regras de negócio foi encontrar um nome genérico que estivesse de acordo com a proposta principal do projeto, que é ser uma aplicação genérica capaz de atender diferentes locais e estabelecimentos.  Optamos por “Entidade”, mas ainda estamos em dúvida. Enviamos um e-mail para os professores com nossos requisitos e pedimos uma validação do que foi feito. 

Também durante o final de semana finalizamos nossa matriz de responsabilidades com todas as atividades de desenvolvimento e documentação que serão executadas durante esse semestre.

sexta-feira, 13 de setembro de 2019

6ª Semana - Planejamento e modelagem

No último sábado(07/09) o time não se reuniu presencialmente por conta dos protestos que estavam rolando na cidade. Por questões de segurança decidimos ficar remotos e fazer nosso planejamento via videoconferência. Discutimos às alterações sugeridas na POC e traçamos as estratégias para colocá-las em práticas. Entretanto não decidimos o que fazer com o banco de dados que, por sugestão dos professores, deveria ser provisionado na AWS. Pensando na questão da massa de dados que seria inserido no banco também precisamos mensurar os gastos envolvidos nisso. Decidimos continuar com o nosso banco de dados no Azure, pelo menos por enquanto. 

A maioria do time ficou focado na modelagem do sistema antes de iniciar o desenvolvimento das telas. Pretendemos fechar os requisitos funcionais e a modelagem do banco de dados no próximo sábado (14/09) para então começar o desenvolvimento dos CRUDs. Para o nosso projeto essas modelagens são às partes mais complexas, tendo em vista que o modelo deve ser algo genérico capaz de atender todo tipo de lugar, estabelecimento e entidade.

sexta-feira, 6 de setembro de 2019

5ª Semana - Prova de conceito

No dia 05/09 fizemos a apresentação da nossa POC para os professores. Executamos o nosso fluxo de ponta-a-ponta, desde a extração de arquivos da internet até a inserção no banco de dados. Por questões burocráticas das redes sociais não conseguimos extrair dados diretamente do Facebook ou Instagram, conforme planejamos. Fizemos os testes com dados no formato Json disponibilizados pelo Governo Federal. 

Abaixo, a arquitetura apresentada durante nossa apresentação. 


Os professores fizeram alguns comentários sobre nossa arquitetura, mas o ponto principal da crítica foi a utilização de dois provedores clouds. De acordo com o professor Ivan a utilização de dois provedores geraria um alto custo financeiro por conta da transferência de dados de um provedor para outro e a possível latência nessa transferência. 

Durante o final de semana o time se reunirá para discutir os pontos levantados durante aapresentação e traçar estratégias de mudanças.

domingo, 25 de agosto de 2019

4ª Semana - Brainstorm week II

Resultado de imagem para brainstorm

Durante a quarta semana de projeto a equipe focou em esboçar novas ideias para desenvolver durante o projeto. Descartamos a nossa última ideia por uma série de questões, entre elas a complexidade de aumentar o escopo. 

O time decidiu voltar a uma antiga ideia que esboçamos semestre passado que consistia em uma aplicação voltada para Museus. Apresentamos a proposta com algumas alterações em relação ao semestre passado para os professores. Eles fizeram algumas sugestões, entre elas utilizar dados de redes sociais para alimentar nossa plataforma. Gostamos das ideias que os professores deram e resolvemos investir nossos esforços para esboçar uma arquitetura que atendesse nossas novas necessidades. 

No final de semana mandamos um e-mail com algumas ideias e o desenho da arquitetura para extrair dados das redes sociais. 

Para  maior compreensão, colocaremos abaixo parte da nossa proposta e a arquitetura proposta.


Proposta
O objetivo da aplicação é ser uma plataforma para integrar dados das redes sociais sobre diversos museus. Através da extração de dados pretendemos ranquear às instituições e exposições mais visitadas, mais comentadas e com maior engajamento nas redes. Também será possível que os nossos usuários interajam através da plataforma, fazendo comentários e avaliando às instituições e exposições da cidade. 
Abaixo, alguns processos da aplicação.
  1. Extração e transformação dos dados de diferentes redes sociais;
  2. Análise quantitativa dos dados obtidos;
  3. Ranqueamento das instituições mais visitadas / comentadas;
  4. Ranqueamento das exposições mais visitadas / comentadas;
Abaixo, alguns dos CRUDs da aplicação.
  1. Comentar na página dos museus;
  2. Dar uma nota no museu visitado;
  3. Enviar e-mail semanal com o museu com maior número de visitas (com base nas redes sociais), com maior nota e maior engajamento. 

Para desenvolver a aplicação utilizaremos dois provedores de cloud. Para extração e análise de dados, vamos utilizar Microsoft Azure, para a hospedagem da plataforma, utilizaremos AWS. Segue abaixo a arquitetura do processo de extração.
Arquitetura para extração de dados.

domingo, 18 de agosto de 2019

3ª Semana - IFound



Na última aula de PGP (15/08) apresentamos nossa primeira proposta para a disciplina. O projeto tem como objetivo desenvolver uma aplicação, que chamamos de IFound, para gerenciar de forma fácil o setor de achados e perdidos do Câmpus São Paulo do Instituto Federal. Dentro da aplicação seria possível consultar itens no setor totalmente online, economizando tempo evitando a necessidade de ir fisicamente até o setor. 

Para definição do escopo do projeto o time se reuniu no dia anterior(14/08) no Starbucks da Augusta, que está sendo o nosso QG neste semestre. Foi um pouco em cima da hora, nós sabemos. Mas, como relatado na última publicação, nós estávamos em contato com uma ONG de proteção aos animais e planejamos seguir com o objetivo do projeto nessa linha que envolve a causa animal, mas a conversa não foi muito produtiva e foi necessário descartar todas as ideias relacionadas ao tema.  

Após a apresentação da proposta, que está disponível em nossa SVN, os professores pediram para que olhássemos no repositório um projeto de 2017 chamado São Longuinho, que basicamente tem as mesmas funcionalidades que o nosso projeto. De acordo com o professor Ivan, sem uma justificativa técnica, não faria sentido desenvolver uma aplicação que já havia sido desenvolvida anteriormente na disciplina. Além disso também foi pontuado por eles a dificuldade de desenvolver um projeto para o Instituto Federal de São Paulo por conta das burocracias no acesso às APIs de autenticação.

Assim que terminamos nossa apresentação e recebemos os feedbacks dos professores fizemos um rápido alinhamento. Concordamos em seguir com esse projeto e aumentar o escopo dele adicionando novas funcionalidades e processos. Estamos planejando apresentar uma nova proposta na próxima aula com algumas melhorias. 

terça-feira, 13 de agosto de 2019

2ª Semana - Brainstorm week

Resultado de imagem para brainstorm
A segunda semana de PGP foi de muitos debates sobre às ideias para o projeto. Apresentamos algumas propostas para os professores, mas eles não pareceram gostar da maioria. Nós queríamos muito trabalhar com algum projeto relacionado a causa animal, então o professor Braz sugeriu entrarmos em contato com a UIPA (União internacional de proteção aos animais), mas a conversa não foi muito produtiva. 

Ainda estamos debatendo sobre qual projeto desenvolveremos e adiantando algumas coisas que não dependente necessariamente da ideia. Começamos a trabalhar em nossa POC, provisionar recursos em nuvem e estruturar a documentação. Com a nossa experiência do semestre anterior algumas coisas ficam muito mais claras. 


O time está planejando se reunir ainda essa semana para debater ideias e esboçar alguns projetos antes da aula de quinta-feira.

sábado, 3 de agosto de 2019

1ª Semana - Here we go again.

Na última quinta-feira (01/08) tivemos nossa primeira aula de PGP desse semestre onde os professores apresentaram às regras e padrões que os projetos devem seguir. Mesmo já tendo passado por tudo isso antes eu fiquei chocado com a quantidade de coisas que deveríamos seguir e entregar em um único semestre. Após a apresentação da matéria fizemos a formação dos times. No último semestre de 2019 nós fazíamos parte do time BiteArte, embora no final tenha ficado um mal estar entre os membros da equipe decidimos seguir com as mesmas pessoas, até por uma questão de afinidade e entrosamento entre os integrantes. No mesmo dia já decidimos os papéis de cada um e falamos sobre como pretendemos seguir esse semestre com base nos nossos erros do semestre anterior. 

A formação do time e a definição dos papéis ficou da seguinte forma: 

Adriana de Oliveira - Responsável pelo back-end e infraestrutura da aplicação. 
Carla Miossi - Responsável pelo back-end e documentação da aplicação. 
Daniela Ragozzino - Responsável pelo banco de dados, front-end da aplicação e infraestrutura. 
Dayna Santos  - Responsável pela documentação. 
Ranthelly Albuquerque - Responsável pelo front-end e infraestrutura da aplicação. 
Wesley Gomes - Responsável pelo gerenciamento, back-end e banco de dados. 

Já começamos a debater as ideias para esse semestre e nosso planejamento de atividades. Tivemos uma grande lição no semestre passado de coisas que não devemos fazer em PGP e agora com esse novo começo pretendemos seguir a risca tudo o que aprendemos. 

PV nos ajude.