Semana 15 - 20/06 até 26/06/22

Apresentação da entrega final

Nessa semana, realizamos a apresentação da entrega final, antes da apresentação disponibilizamos os documentos e slides da apresentação para a banca afim de contribuir com os apontamentos que foram levantados na segunda do dia 20/06/22.
Com a demonstração concluída, aguardamos o feedback da banca e continuamos trabalhando nas melhorias do sistema, em principal nos testes. Próximo do fim da semana recebemos os feedbacks nos quais analisamos e separamos em atividades para serem discutidas e corrigidas para a entrega da correção final que ocorrerá até o fim do semestre.

Semana 14 - 13/06 até 19/06/22

 Ajustes finais da documentação e da apresentação do MVP

Nessa semana, trabalhamos nos ajustes finais para a apresentação do MVP, envolvendo documentação, apresentação, testes de interface, atualização periódica do SVN e geração de vídeo no Gource. Também entregamos essa documentação e apresentação para os integrantes da banca avaliadora.

Exemplo de um teste de interface concluído com sucesso.

Como dito anteriormente, um dos pontos que abordamos em fase final essa semana foram os testes de interface, utilizando a extensão do Google Chrome Selenium IDE, demos sequência aos testes que já havia sido criado de forma inicial, só que dessa vez realizamos o teste no processo completo do sistema.
 

Semana 13 - 06/06 até 12/06/22

 Entrega da documentação e da apresentação do MVP

Nesta semana trabalhamos para finalizar a documentação e criar a apresentação a serem entregues aos professores participantes da banca para que pudessem analisar o que foi produzido antes da apresentação em si.

Foram geradas estatísticas dos repositórios, tanto do GitHub quanto do SVN, assim como também acrescentamos itens de análise de qualidade e segurança.

Teste dos headers da página que requisita as vagas.


Também foram incluídos itens parametrizados e padronizados durante o desenvolvimento, tanto do contexto da aplicação quanto da própria codificação. Por exemplo, a recomendação de vagas a princípio é feita através de competências, soft skills, as quais nós listamos para garantir que não houvessem duas competências iguais escritas de formas diferentes.

Outro exemplo, este do contexto de desenvolvimento, é o padrão de commits, os quais seguem as convenções de feat, para uma nova funcionalidade ou acréscimos, e fix, para ajustes e correções.

Semana 12 - 30/05 até 05/06/22


Continuando o MVP e ajustando a documentação

Para esta semana, revisamos alguns itens pertinentes que a nossa aplicação deveria conter, sobretudo no back-end, como a obtenção das maiores notas no securityheaders e ssllabs. Também adicionamos a biblioteca que possibilita a documentação da nossa API no back-end através do padrão OpenAPI/Swagger.

Fomos alertados que a documentação final precisará ser entregue com uma semana de antecedência ao dia da apresentação do MVP, portanto também começamos a adiantar algumas questões finais na documentação do nosso projeto, de modo a conseguir entregar tudo a tempo.

Para essa semana, daremos continuidade para o desenvolvimento das funcionalidades da aplicação e finalizaremos a documentação final e os slides para a apresentação.


Semana 11 - 23/05 até 29/05/22


Desenvolvimento MVP Funcionalidades e melhorias no sistema

Nesta semana, foi discutido novamente a modelagem do banco de dados, que por sinal, é a parte do sistema que mais sofre alteração na minha opinião, a cada nova implementação de funcionalidade do sistema, uma nova normalização é feita no banco.

Tenho certeza que a modelagem do nosso banco vai estar uma coisa totalmente diferente do que inicialmente imaginávamos.

Foi incrementado o Layout da página de NotFound da aplicação.

Tela de NotFound










Também demos início no desenvolvimento das outras páginas, que deverão estar com um Layout melhor implementado até o MVP.

Bem como, o planejamento das ‘sprints’ para as entregas das funcionalidades que deverão ser apresentadas a banca, e o incremento da documentação para a entrega inicial.

Também será utilizado o Swagger para a criação da documentação da API do sistema.

Acredito que a funcionalidade mais difícil de ser implementada no momento para a entrega do MVP ao nível de Backend, seja a recomendação das vagas, cujo objetivo inicial para a entrega, é apresentar uma recomendação baseada em match de 'skills' do candidato com o que a vaga pede.

Mas, creio que conseguiremos implementar tudo, e estar prontos para a entrega, assim como, para a apresentação a banca.

Semana 10 - 16/05 até 22/05/22

   

Desenvolvimento Inicial do MVP

Nesta semana começamos a desenvolver as funcionalidades necessárias para o MVP.
Abaixo estão as telas na versão inicial do nosso projeto.

Tela de Login

















Listagem de vagas

Semana 9 - 09/05 até 15/05/22

  

Preparação para POC

Nesta semana realizamos a preparação da apresentação POC, foi dado inicio no desenvolvimento das funcionalidades de login e listagem de vagas, para isso foi iniciado o desenvolvimento da diagramação do banco de dados com o dicionário de dados e a elaboração do MER, bem como o desenvolvimento do  primeiro endpoint no back-end, a página de login e a página inicial com a listagem das vagas, bem como a integração do back-end com o front-end por meio de serviços Rest.

Dicionário de dados:



MER

Semana 8 - 02/05 até 08/05/22

 

Apresentação do Desenho da Aplicação e Desenvolvimento da POC

Nesta semana finalizamos e realizamos a  apresentação em sala de aula do Desenho da Aplicação desenvolvido ao longo das semanas anteriores. Abordamos tópicos como: 

1. Objetivos da aplicação

2. Planejamento e metodologias
    

3. Cronograma
    

4. Arquitetura da aplicação
    Conforme exemplificada no post da semana 7.

5. Requisitos e regras de negócio da Aplicação.

6. Casos de uso
    Apresentamos os casos de uso pertinentes a nossa aplicação conforme exemplo abaixo:
E por fim, apresentamos as funcionalidades que estarão presentes na POC e também no MVP, como exemplificado abaixo: 

Funcionalidades da POC:
Login via conta Google;
Listagem das vagas;
Demonstração da comunicação da camada de backend com a camada de frontend;
Backend hospedado na Heroku;
Frontend hospedado na Vercel/Netlify*;

Funcionalidades MVP:
Incrementar o que já foi desenvolvido para a POC;
Candidatura do estudante à uma vaga; 
Denúncia de vaga por não ser coerente com uma vaga de estágio de fato;
Login via LinkedIn para os estudantes;
Recomendações de vagas para os estudantes e de estudantes para as empresas;
Opção de contato com o estudante via Whatsapp e 
Testes unitários.

Nessa semana também concluímos a preparação do ambiente de desenvolvimento e já começamos a desenvolver as funcionalidades da POC, que será apresentada na próxima semana. Iniciamos com a integração para login via google e informação do usuário logado.

Semana 7 - 25/04 até 01/05/22

Ajustes do Desenho da Aplicação e Preparação para a POC

Nesta semana continuamos a elaborar a documentação do desenho da aplicação, a qual está quase terminada, e iniciamos a preparação dos ambientes para a Prova de Conceito (POC, na sigla em inglês).

Dentre alguns itens do desenho da aplicação, temos: 

Os papéis dos membros da equipe


Arquitetura geral da aplicação,
exibindo as partes do cliente, font-end e back-end e a comunicação entre elas

Fonte: Os Autores

Requisitos funcionais



Requisitos não-funcionais


Regras de negócio

Foi a partir dos itens acima, primariamente, que decidimos as implementações que serão feitas na POC, então, essa semana iniciamos o desenvolvimento, primeiro criando contas da equipe na Vercel e no Heroku, além de iniciar as configurações das plataformas.

Semana 6 - 18/04 até 24/04/22

Finalização do desenho da aplicação e pensando na POC

Mais uma semana se passou na disciplina.

Neste meio tempo, estivemos desenvolvendo o desenho da aplicação, e refinando os textos pertinentes e necessários para a sua entrega. Estamos um pouco atrasados com a elaboração deste documento, então precisamos correr com algumas partes, principalmente em relação à modelagem de dados da aplicação.

Tendo isto feito, começaremos o desenvolvimento da POC que entregaremos no mês que vem! Como já decidido no desenho da aplicação, focaremos em desenvolver os seguintes itens do projeto, que são as funcionalidades mais básicas de login e cadastros simples:

  • Registro de estudantes;
  • Registro de empresas;
  • Registro de representante de recursos humanos;
  • Visualização de vagas disponíveis

Temos bastante trabalho a ser feito pela frente! Espero que tudo dê certo daqui para frente, que em pouco tempo será o momento em que colocaremos a mão no código.

Até a próxima semana!


Semana 5 - 11/04 até 17/04/22

Incremento da proposta inicial e início do desenho da aplicação

Nessa semana foram feitas melhorias no documento da proposta inicial, fazendo modificações nos requisitos, também houve um incremento nas regras de negócios e requisitos não funcionais, fizemos correções nas tabelas e adicionamos as dependências das regras de negócios com os respectivos requisitos relacionados.

O assunto da possibilidade de implementação do machine learning com python veio a tona novamente e ainda estamos avaliando a possibilidade

Após as alterações no documento da proposta inicial começamos a discutir o desenho da aplicação e alguns tópicos foram citados como:

  • Modelagem do banco de dados (pensar na modelagem do banco de dados cedo pode ajudar bastante na frente, pois nos ajuda a ter uma ideia do que precisaremos para o projeto futuramente).
  • Organização da equipe (definição dos papéis de cada integrante da equipe).

Apesar de muitas coisas para fazer com a entrega do desenho da aplicação, estou ansioso para a etapa de desenvolvimento.

Semana 4 - 04/04 até 10/04/22

Elaboração da proposta Inicial

Bom dia / tarde / noite, pessoal.

Durante essa semana, após a aprovação do nosso tema, começamos a fazer o documento da nossa proposta inicial, onde descrevemos um pouco sobre o projeto (objetivos, justificativa, etc.), os requisitos (funcionais, não funcionais e regras de negócio), sobre as tecnologias usadas, arquitetura e possíveis integrações que nossa aplicação terá e uma pequena análise de concorrentes, onde comparamos as funcionalidades que cada concorrente oferece aos seus usuários.

No geral, eu (Leonardo) e a Bruna ficamos responsáveis pela elaboração do documento nessa semana, o Daniel e o Marcelo ajudaram em coisas específicas.

Após a elaboração do documento, alteramos nosso slide que tínhamos antes e adicionamos novas informações que não estavam lá, depois disso, upamos esses documentos no SVN.

Estou bastante ansioso para desenvolvermos nosso projeto na prática!

Semana 3 - 28/03 até 03/04/22

 Aprovação da proposta, definição das tecnologias, e inicio do desenho da arquitetura

Na aula do dia 28/03/2022, após levantarmos os requisitos macros de cada tema, apresentamos as nossas cinco propostas para a avaliação do professor, foi apresentado e aprofundado na primeira proposta de tema, o portal de vagas para estágio, logo foi discutido melhorias para os requisitos apresentados e ideias de escopo na qual o projeto irá seguir. Com o tema escolhido, a equipe no mesmo dia se juntou para avaliar as primeiras possibilidades de tecnologias, e maneiras de implementar requisitos como o mapa de calor, dashboard de situação de vagas dos candidatos, questões de como funcionará o papel da empresa, e o relacionamento entre candidato e empresa.

Durante a semana foi discutido mais profundamente as tecnologias a serem utilizadas, bem como a arquitetura inicial do projeto, de inicio optamos pelo padrão cliente-servidor, no qual teria 2 servidores de aplicação, um para alocar os serviços REST em Java com o apoio do Spring MVC, e outro para alocar a parte de Machine Learning e IA em Python, como ainda estamos avaliando a questão do Machine Learning no Python, a decisão do 2º servidor continua prematura. Ainda no backend, foi pensado na possibilidade da utilização do PostgreSQL, o banco de dados estaria disponível em um servidor separado da aplicação a fim de fornecer os dados e possibilitar maior performance. O frontend foi pensado em React com Typescript, e para a estilização será utilizado o framework AntD.
Sobre a arquitetura, pensamos em utilizar os serviços da Amazon AWS para as aplicações Backend, Heroku para o banco de dados, e o Vercel para o frontend.

Ao sábado dia 02/04/2022, continuamos a debater as tecnologias com o professor, e a nos preparar para a realização do documento de proposta inicial.

Semana 2 - 21/03 até 27/03/22

Definições de metodologias e gestão, detalhamento das propostas, eleição do tema preferido

Na aula do dia 21/03/22 (segunda-feira) a equipe se reuniu com o professor para mostrar os rascunhos das ideias levantadas. Nessa mesma aula, a equipe definiu seguir a metodologia Scrum, com sprints de uma semana, usando a ferramenta Jira para nos organizarmos.

Assim, já iniciamos nossa primeira sprint, a princípio, com tarefas relativas aos preparativos para o início do desenvolvimento do projeto logo que o tema fosse aprovado, como a criação deste blog, criação da organização no GitHub, etc.

No dia 26/03/22 (sábado), entramos em reunião com o Professor orientador via plataforma RNP, para que ele nos auxiliasse quanto a preparação da planilha com a elicitação de requisitos para cada ideia que tivemos. Durante o próprio sábado e no domingo, trabalhamos na elaboração dessa planilha com os requisitos essenciais das nossas propostas.

Também desenvolvemos uma apresentação e levamos em conta os seguintes pontos para definir que o Portal de vaga de estágio seria a proposta a ser levada para avaliação:

  • Objetivo;
  • Melhorias quanto aos sistemas semelhantes;
  • Tecnologias a serem utilizadas;
  • Valor da solução.
Após a conclusão da montagem da planilha e da apresentação, esperamos o dia seguinte chegar para termos o veredito sobre o projeto.

Semana 1 - 14/03 até 20/03/22

Início, definição de equipes, pesquisa de temas

No dia 14/03/22 (segunda-feira) tivemos a primeira aula da disciplina de PI1A5, onde recebemos as orientações sobre como a disciplina irá funcionar, dicas importantes e materiais de apoio. Nossa equipe já estava formada de antemão, então neste dia acordamos um nome: WeCode.

Nos reunimos neste mesmo dia para iniciarmos pesquisas e sugerirmos temas de soluções a serem apresentadas na próxima aula. 

Ao longo da semana conseguimos chegar em cinco ideias:

  • Um sistema de chamados que supra as necessidades do dia-a-dia de uma empresa de suporte técnico;
  • Aplicativo para encontrar postos de gasolina próximos e selecionar o(s) melhor(es) de acordo com o preço da região (área, bairro, cidade);
  • Adaptação de um jogo de cartas educacional para uma versão digital;
  • Aplicação (similar ao Get Ninjas) para a contratação de serviços digitais remotos, como desenvolvimento de sites, edições de mídia, entre outros;
  • Portal de empregos, cujo o foco é facilitar o encontro de empregadores em busca de estagiários/trainees e quem está em busca de sua primeira oportunidade com uma vaga coerente com a posição de estágio/trainee, ou seja, que não exija experiência prévia de trabalho.

Apresentação

Olá, nos somos a Equipe WeCode do curso Tecnológico de Análise e Desenvolvimento de Sistemas do Instituto Federal de Educação, Ciência e Tecnologia de São Paulo. Aqui apresentaremos o caminhar do desenvolvimento do projeto final do curso, que será realizado em dois semestres nas disciplinas de PI1A5 e PI1A6.

A Equipe WeCode espera que tenham uma boa experiência em nosso blog e que o conteúdo seja útil em auxiliar os próximos concluintes, informativo aos que buscam saber mais sobre nosso projeto e interessante aos meros curiosos.

Todos são bem-vindos!

Equipe WeCode

Semana 27 - 27/10 até 02/11/22

  Sprint 6 - Desenvolvimento Nesta semana continuamos com o desenvolvimento das funcionalidades descritas na semana anterior, focadas na sex...