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 sexta sprint. Ao final dessa sprint, tinhamos já o back-end em um estado bastante maduro com as funcionalidades e regras de negócio que compreenderiam o fluxo essêncial para o nosso projeto. Sendo assim, começamos a dar mais atenção para as telas que precisavam ser formuladas no front-end de modo a prosseguir para a integração dos dois e o funcionamento do sistema como um todo.

Semana 26 - 20/10 até 26/10/22

  Sprint 6 - Desenvolvimento

Nesta semana, continuamos o desenvolvimento do projeto, focando nas funcionalidades principais que o sistema deverá atender. Com as funcionalidades mais básicas de cadastro concluídas, e com a funcionalidade de candidatura também já anteriormente pronta no back-end, focamos nas funcionalidades referentes a edição de perfil, acompanhamento do status da vaga e recomendação com base em soft skills.

Semana 25 - 13/10 até 19/10/22

 Sprint 5 - Desenvolvimento

Durante a semana, dando seguimento ao desenvolvimento das funcionalidades de cadastro foi dada após a criação da tela de cadastro da empresa também o início das telas de cadastro do estudante, bem como a melhoria na documentação e nos serviços. Foi corrigido um erro com o serviço de cadastramento de estudantes.

A princípio, eu achei melhor a criação de duas páginas para o cadastro de estudante, para dar uma melhor visualização ao usuário ao cadastro, uma vez que o estudante concebe muito mais dados de cadastro do que a empresa.
























Semana 24 - 06/10 até 12/10/22

                                                                Sprint 5 - Desenvolvimento

Durante a semana, foi dado inicio ao desenvolvimento das novas funcionalidades e também o início das telas de cadastro, bem como a melhoria na documentação e nos serviços. Foi corrigido um erro com o serviço de cadastramento de empresas.


    Tela de cadastro para empresa

Nesta sprint, o foco está no core business do projeto, sendo no caso, o processo de candidatura da vaga e o acompanhamento, assim como o gerenciamento das vagas por parte da empresa.

Semana 23 - 29/09 até 05/10/22

    Sprint 4 - Novo Design e início da candidatura

Durante a semana reformulamos o design do nosso front-end, dando uma cara mais moderna para ele,

além disso, iniciamos a candidatura do estudante à uma vaga no back-end, que posteriormente será colocada no front-end também.









Semana 22 - 22/09 até 28/09/22

   Sprint 4 - Correções e início de novos desenvolvimentos

Durante a semana fizemos correções nos exemplos do Swagger para facilitar a leitura e teste das apis via documentação, além de correções nos serviços já feitos anteriormente.

Também fizemos alguns protótipos de telas para o nosso front-end e desenvolvimento de serviços para candidatura dos candidatos à uma vaga.





Semana 21 - 15/09 até 21/09/22

   Sprint 3 - Desenvolvimento

Durante a semana iniciamos o desenvolvimento das funcionalidades de novas funcionalidades para permitir o início do processo de candidatura de um estudante à vaga, foram realizadas melhorias na documentação dos serviços da aplicação por meio do swagger com a configuração de exemplos personalizados, e foram realizados melhorias no serviço de vagas, contando com paginação.

Para esta sprint estamos focando em estabilizar os módulos de estudante e vagas, para possibilitar no futuro o acompanhamento do processo de criação de vagas, candidatura, acompanhamento entre outros, porém antes será necessário um desenvolvimento mais focado no módulo empresarial para permitir o gerenciamento das vagas em si.

Semana 20 - 08/09 até 14/09/22

  Sprint 3 - Desenvolvimento

Durante a semana iniciamos o desenvolvimento das funcionalidades de cadastro, edição, busca de vagas, edição de perfil. Foi levantado os serviços em funcionamento para disponibiliza-los para teste do cliente, com isto surgiram novas demandas de correções de serviços existentes.

Com o plano de teste em ativo, o desenvolvimento foi focado em continuar a atender os requisitos descritos previamente na documentação, assim como as demandas levantadas para cada sprint. Por hora o foco principal está no fortalecimento do back-end com a construção de novos serviços e aprimoramento dos atuais, posteriormente será dado maior foco no front-end com a reestilização do mesmo.

Semana 19 - 01/09 até 07/09/22

 Sprint 2 - Desenvolvimento

Iniciamos a semana com uma conversa com o professor sobre o andamento do projeto. Nela, explicitamos a ele a questão do problema que estávamos encontrando com os cursos e nessa reunião foi definido que os cursos serão um campo onde os usuários poderão digitar, ou seja, não serão parametrizados no nosso sistema. 

Continuamos o desenvolvimento iniciado na semana 19. O back-end de cadastrar empresa foi finalizado e o design do front-end também, faltando a integração entre ftont-end e back-end. O login da empresa também foi finalizado.

Também foi concluído o desenvolvimento da visualização de vagas mesmo sem estar logado no sistema.

Back-end de cadastro da empresa em testes de API:


Front-end de cadastro da empresa em desenvolvimento:


Também finalizamos a Sprint e realizamos ajustes de separação das Histórias do Jira, para melhor organização.

Semana 18 - 25/08 até 31/08/22

 Volta ao desenvolvimento

Nessa semana, voltamos a desenvolver o código do sistema.

Tivemos a nossa reunião onde finalizamos a sprint anterior e também definimos o que iriamos fazer na Sprint 2.

Focamos em desenvolver a área da empresa e também do estudante, desenvolvendo uma área onde o estudante pode ver as vagas disponíveis mesmo sem precisar estar logado e uma área de cadastro de estudante.

Também começamos a desenvolver o cadastro da empresa, onde os dados serão enviados para os administradores do EstagiEi e após aprovação, a empresa poderá realizar login e inscrever as suas vagas de estágio. Nesse ponto, back-end e front-end estão caminhando juntos.

A Sprint ficou definida da seguinte maneira:





Semana 17 - 18/08 até 24/08/22

 Reestruturação do planejamento

Nesta semana amadurecemos as ideias das Epics, Funcionalidades e Histórias de Usuário, o último item ainda necessitando de uma revisão, pois há histórias que se conectam em funções iguais utilizadas por usuários diferentes com finalidades diferentes, porém com o mesmo resultado sistêmico ou alterando apenas a visualização.

Até o momento, definimos a estrutura dessa forma:

            EPICS           FUNCIONALIDADES                          HISTÓRIAS DE USUÁRIO


Também criamos as issues no GitHub, montamos um novo projeto no Jira Software e estruturamos os boards de acompanhamento:

Novo projeto no Jira Software


Board de acompanhamento no GitHub


Issues no GitHub seguindo as Histórias de Usuário

Semana 16 - 11/08 até 17/08/22

 Início do segundo semestre - PI2A6

Na primeira aula do segundo semestre, a equipe se reuniu e tomamos algumas decisões sobre o andamento do projeto, revisando como foi o semestre anterior e o que poderíamos mudar para este ser melhor.

Decidimos:

  • Fazer sprints de suas semanas, considerando que todos os integrantes do grupo trabalham durante a semana;
  • As sprints acompanharão as aulas, sendo neste semestre às quintas-feiras;
  • Usar a primeira sprint para aplicar correções essenciais e mais urgentes de planejamento e código;
  • Reestruturar o planejamento usando de Epics referentes a grandes partes do projeto, Funcionalidades como partes do produto e Histórias de Usuário para especificar as ações;
  • Cada História de Usuário terá uma issue no GitHub do projeto;;
  • Usar boards de acompanhamento do GitHub e do Jira.

Assim utilizamos essa primeira semana para separar quais seriam as Epics, Funcionalidades e Histórias de Usuário, além de revermos quais mudanças no código eram mais urgentes.

Considerando os apontamentos dos professores da banca na apresentação do MVP, houveram mudanças em nosso modelo de dados, portanto a partir daí grande parte da estrutura base do código precisará ser corrigida e/ou adaptada ao novo modelo:

Definimos as Epics como sendo:

  • Área da Empresa: contendo todas as funcionalidades que a empresa precisa ter para utilizar o sistema e conseguir alcançar seu objetivo de encontrar estagiários adequados às vagas disponíveis;
  • Área do Estudante: contendo todas as funcionalidades que o estudante precisa ter para utilizar o sistema e conseguir atingir seu objetivo de encontrar, se candidatar e possivelmente ser selecionado para uma vaga de estágio como deseja;
  • Área do Administrador: contendo as funcionalidades que facilitaram a interação do administrador do sistema com Estudantes, Empresas, Representantes e Vagas, etc.

Dentro do Jira Software também colocaremos outras Epics relacionadas ao projeto de modo geral:

  • Correções: contendo bugs para serem corrigidos, adaptações que precisam ser finalizadas, etc.
  • Blog: contendo as semanas e quem ficará responsável por realizar as postagens do blog.
  • Documentação: Itens relacionados à documentação que será entregue no final do semestre junto com o projeto.

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...