sábado, 13 de maio de 2023

Semana 11 - Algoritmos, interfaces e MVPs

Olá, guardiões!

Estamos vindo nessa semana com atualizações sobre o desenvolvimento do nosso Produto Mínimo Viável (MVP)! Falaremos um pouco sobre nossos esforços, dificuldades e pequenas vitórias.

Algoritmo de recomendação

Desde a concepção da aplicação, a equipe sabia que nada era mais importante que o sistema de recomendação, sendo este responsável por conectar os usuários aos conteúdos ideais para suas crianças. Portanto, é fácil pressupor que nossos esforços e inseguranças com o projeto foram localizados altamente na definição das regras e implementação desse sistema de recomendação, sendo este simultaneamente o possível sucesso ou fracasso do projeto como um todo.

Entretanto, ficamos felizes em anunciar que os esforços prestados na questão tem sido extremamente produtivos! Estamos trabalhando atualmente em um sistema de classificação de usuários que conectam as recomendações de conteúdo uns aos outros e, no ritmo atual, tem se mostrado muito competente em sua função. 

Interface gráfica

As definições da interface estão sendo feitas atualmente pelo Figma, onde de maneira contributiva estamos trabalhando na melhor experiência para nossos usuários. Estamos em um estágio bem avançado nesse quesito, tendo definido a visualização dos principais fluxos da nossa aplicação. Segue um pequeno spoiler:




No que diz respeito ao client mobile em Ionic: a familiarização com o framework e a adaptação às suas peculiaridades exigiram um período de aprendizado e experimentação. Ainda assim, os componentes nativos tem oferecido bastante flexibilidade no desenvolvimento e acreditamos no potencial da equipe de entregar uma experiência suave para o usuário final. A tela de cadastro/login já tomou forma e estamos correndo para entregar o feed do usuário!

E o que mais?

Por enquanto é só! Estamos avançados em outros componentes como a implementação server-side da autenticação, integração entre sistemas, testes e etc. Porém, achamos mais interessante focar por enquanto nas questões abordadas nesse post. 
Algo que vale mencionar são as métricas de contribuição do GitHub, que no último mês indicam quase 10 mil adições no código espalhadas entre 85 commits só na API! Essa equipe não brinca em serviço!



Agradecemos pela sua atenção e continuaremos dedicados em alcançar nossos objetivos. Até a próxima semana! 

sábado, 6 de maio de 2023

Semana 10 - Uma conversa sobre o MER




Olá, guardiões! Esperamos que a semana de vocês tenha sido incrível. Bora lá pra mais uma atualização semanal?


Após as últimas duas semanas de apresentações (do desenho da aplicação e da prova de conceito), voltamos o foco para o desenvolvimento e documentação do nosso projeto com foco nas próximas entregas, que é a da documentação final e do MVP (Mínimo Produto Viável).

Nessa semana tivemos uma conversa com os professores sobre o nosso Modelo Entidade-Relacionamento (ou MER, para os mais chegados). Nela, os professores apontaram suas dúvidas e seus pontos de vista, assim como a gente.

A necessidade dessa conversa já havia sido adiantada durante a apresentação do desenho da aplicação, e consideramos o resultado dela bem benéfico, pois permitiu que a gente indicasse alguns pontos de mudança na forma que iremos persistir os dados da aplicação; além de alinhar o motivo de cada entidade e suas relações. Em resumo, foi possível identificar pontos positivos e alguns pontos de melhoria.

Esse diagrama é de extrema importância para todo o desenvolvimento da aplicação, pois além de estruturar todo o banco de dados, permite que a equipe esteja alinhada em relação às especificações do sistema.

Obrigado por estar nos acompanhando até aqui, nos vemos semana que vem!


domingo, 30 de abril de 2023

Semana 9 - Prova de Conceito

Ei, guardiões! Como estão?

 Essa semana fizemos o desenvolvimento da Prova de Conceito (POC) para o projeto MyKidsWatch. A POC consistiu no desenvolvimento de um Progressive Web App (PWA) que oferece uma experiência semelhante à de um aplicativo nativo para dispositivos móveis.

No Front-end, utilizamos o framework Angular em conjunto com o framework Ionic para criar o PWA. O Ionic permitiu que a aplicação fosse instalada e testada em um dispositivo Android, garantindo a integração adequada com o Back-end. Além disso, a combinação do Angular e do Ionic resultou em uma aparência e comportamento semelhantes aos de um aplicativo nativo.


No Back-end, optamos pela linguagem C# e pelo framework .NET para criar uma API REST. Utilizamos o Entity Framework Core como ORM para acesso ao banco de dados, o que nos proporcionou uma implementação ágil e segura. A arquitetura do Back-end seguiu padrões de Clean Code, SOLID e Domain Driven Design (DDD), dividida em camadas para facilitar a manutenção e organização.


Hospedamos o Back-end no Azure App Service, garantindo a disponibilidade do servidor gerenciado pela Microsoft. Utilizamos o serviço Azure SQL Database, que oferece recursos avançados de segurança, backup, recuperação e escalabilidade automática. Com isso, a aplicação possui uma infraestrutura confiável e escalável para armazenar e processar dados.


A documentação da API foi feita utilizando a especificação OpenAPI Specification (OAS) e a interface gráfica gerada pelo Swagger, facilitando a visualização dos endpoints e estruturas de dados.


Com a implementação dessa POC, comprovamos a viabilidade do uso dessas tecnologias e frameworks para o desenvolvimento do MyKidsWatch. Conseguimos criar uma infraestrutura, eficiente, segura e escalável, capaz de atender às necessidades dos usuários. Agora, estamos prontos para prosseguir com o desenvolvimento do projeto, tendo uma base sólida e confiável para construir uma solução completa e de qualidade.

domingo, 23 de abril de 2023

Semana 8 - Apresentação do Desenho da Aplicação

 


Ei, guardiões! Como estão?

Esta semana fizemos a apresentação da documentação do desenho da aplicação do MyKidsWatch.

Todos os membros do grupo tiveram uma ótima atuação durante a apresentação e, apesar de passarmos um pouco do tempo estabelecido por nós, conseguimos uma boa atuação.

Recebemos um feedback bastante positivo no geral e principalmente sobre a documentação, mas sabemos que não devemos deixar isso afetar o nosso desempenho. Seguiremos com o nosso ritmo pra garantir que o projeto como um todo seja positivo.

Os próximos passos envolvem atuar na correção dos pontos levantados pelos professores em relação à apresentação e à documentação, além de trabalhar no desenvolvimento da Prova de Conceito da nossa aplicação, que será entregue já na semana que vem (25/04).

Por enquanto é isso, muito obrigado por acompanhar o nosso blog!



domingo, 16 de abril de 2023

Semana 7 - Últimos Preparativos

 Hey!

Como comentamos nas últimas semanas, o desenho da aplicação foi finalizado - ou, quase, na medida do possível - e estamos realizando os últimos preparativos para a apresentação.

O time se reuniu para discutir os últimos ajustes que precisavam ser feitos antes que o público conhecesse, de fato, o planejamento para o MyKidsWatch.

Com a apresentação chegando na próxima terça-feira (18), estamos felizes com o andamento do projeto.

Além disso, subimos no repositório MKW.Client, no GitHub, a primeira versão da estrutura do Front-end da aplicação para a POC, além do repositório MKW.API ter sido atualizado. Com isso, estamos preparados para a implementação da aplicação na parte de código, restando apenas a montagem da infraestrutura.


Por hoje, essas são as atualizações que temos para trazer.

Continuem vigiando!

sábado, 8 de abril de 2023

Semana 6 - Apresentação da documentação do Desenho da Aplicação

Na semana 6, após realizarmos a correção dos pontos mencionados na postagem anterior, entre casos mais pontuais, cortes em excessos de teoria, e retrabalho de partes das histórias de usuário, modelo ER e principalmente revisão de literatura, foi realizada a entrega do desenho da aplicação, que incluiu também a versão inicial de todos os demais elementos textuais.

Já no mesmo dia notamos melhorias que precisariam ser feitas no documento, para próximas atualizações, que foram atacadas nesta semana, considerando também a importância deste refinamento para a elaboração dos slides da apresentação da terça-feira seguinte (11). A despeito disso, a entrega da primeira versão da documentação do sistema foi considerada um sucesso pela equipe, confirmando a efetividade do planejamento que vem sendo executado até aqui.

A produção dos slides consistiu em um trabalho de sintetização das informações contidas na extensão da documentação que, no momento da escrita desta postagem, possui ao todo 72 páginas, de modo a transmitir ao conjunto da turma os resultados do trabalho dos últimos meses, no período de 30 minutos.

sábado, 1 de abril de 2023

Semana 5 - Fechando o desenho da aplicação e mais!

Olá, guardiões!

Voltamos de uma semana cheia com muitas novidades sobre o projeto, e é sobre isso que estarei falando hoje.

Uma devolutiva importante!

Essa semana foi um ponto alto no desenvolvimento desse projeto, afinal, os professores deram o feedback sobre a primeira iteração do desenho da aplicação e houveram mais acertos do que erro. De maneira geral, conseguimos chegar em um consenso maior do que a aplicação deve ser, como será desenvolvida, as especificações formais e desenhos. Também tivemos um esclarecimento melhor do que cada fase de entrega desse projeto deve conter, o que tranquilizou as expectativas da equipe em relação à futuras apresentações. Estamos com um senso de otimismo renovado e uma motivação para dar os próximos passos no nosso desenvolvimento!

Mas ainda não acabou...

Entretanto, não vamos deixar a vitória nos cegar do que podemos melhorar. Apesar do retorno ter sido positivo, temos mudanças importantes pra fazer.

A primeira que se aplica para o grupo todo: precisamos passar tudo o que foi escrito até agora para o LaTeX, um sistema de preparação de documentos muito utilizado na academia e na produção de documentos técnicos. Felizmente, o modelo se assemelha bastante com as linguagens de programação que tivemos contato durante o curso, a ferramenta é bem prática e cuida de muitos detalhes como formatação, norma ABNT e atualização de referências de maneira dinâmica, isso da espaço para que possamos focar no que realmente importa, isto é, garantir que o nosso desenho da aplicação atende o especificado pelos professores.

Também tivemos uma conversa sobre como vamos especificar as funcionalidades do sistema, por padrão do projeto iremos utilizar Regras de Negócio e Requisitos Funcionais, porém, tivemos que escolher entre criar Casos de Uso ou Histórias de Usuário para essas especificações. Decidimos, ultimamente, que histórias de usuário fazem mais sentido com as vivências da equipe, necessitando um período de adaptação menor e dando mais clareza durante o desenvolvimento do product backlog, que também ja recebeu sua primeira iteração.

Ademais, tivemos que revisar nosso modelo entidade relacional, os professores sugeriram remover a normalização de algumas relações no nosso modelo para propósitos de demonstração. Também ressaltaram a importância de manter uma consistência linguística no modelo, tanto na linguagem da modelagem quanto no uso termos chaves da aplicação.

Enfim, também tivemos alguns retornos sobre outros pontos chave do documento, desde a introdução à organização da equipe e até a monetização. Estamos utilizando esse final de semana antes da entrega para colocar os pingos no Is e entregar um trabalho do qual possamos nos orgulhar e que sirva de alicerce para as próximas entregas.

E o que o futuro nos reserva?

Estamos tomando muito cuidado para não colocar a carroça na frente dos bois aqui, mas é importante durante o desenvolvimento de um projeto monitorar os problemas atuais e futuros, e o futuro está muito próximo. Assim que finalizarmos a entrega deste documento, vamos nos preparar para a grande apresentação do desenho da aplicação, com direito à um público curioso e suas muitas dúvidas!


Obrigado pela atenção e nos vemos na semana que vem!

Semana 29 - Debates, debates e debates!

Olá, guardiões! Conforme a reta final do projeto se aproxima, o grupo tem se reunido com frequência adicional para que todos possamos focar ...