nathsilvavieira / documentacaoPI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Projeto Integrador: Alucar

Tópicos


Introdução

Este projeto avaliativo consiste em um Web App que foi desenvolvido utilizando metodologia scrum com 4 sprints de 2 semanas, orientado e supervisionado pela equipe de tutores com foco em agilidade, aplicação de conhecimentos técnicos, clima e cultura de trabalho.

Nossa squad consiste em uma equipe com 6 pessoas, sendo 1 Lider de Front End Jennifer Mayumi, 1 Lider de Back End Nelson Kobayashi, 1 Lider de Infraestrutura Paulo Ventura, 1 Lider de Banco de Dados Nathalia Vieira, 1 Lider de Teste Andre Ribeiro e 1 FullStack Luiz Gustavo Trindade, que presta suporte a todas as frentes.

Andre Jennifer Luiz Nathalia Nelson Paulo

Durante o processo de desenvolvimento do projeto precisamos solucionar inumeros problemas e romper algumas barreiras tanto técnicas como de softskills para criação de um Web App consistente.

Alucar e um Web App de aluguel de carros online que conecta quem precisa alugar um carro com as melhores opções e preços do país, uma plataforma 100% segura que traz consigo a segurança e conforto necessário para utilização dos serviços oferecidos.

O objetivo do nosso projeto é desenvolver um site funcional, de simples manuseio pelos usuários que permita que nossos clientes e administradores naveguem de forma fácil e rápida, tendo acesso a todo histórico e registro de atividades.


Ferramenta Utilizadas

Front End

  • HTML + CSS + Javascript
    • SASS
    • FontAwesome
  • React
    • Node + NPM
    • MUI
    • Popper

Back End

  • Java
    • Spring
    • Hibernete
    • Javadoc
    • Swagger UI
  • API
    • REST
    • JSON

Banco de Dados

  • MYSQL
  • Workbench

Testes

  • Postman
  • JUnit
  • RobotFramework

Infraestrutura

  • AWS

Gestão


Requisitos

Primeira Sprint

Foi criado o design do Figma para o projeto, discutido identidade visual da empresa, desenvolvido um desenho da infraestrutura necessária, distribuído as atividades de cada responsável, planejados casos de testes iniciais, criado tabelas necessárias e feito uma página home responsiva.

  • Front End

    • Template da página home responsive, que inclua header, buscador, categorias de forma funcional, lista de carros e footer, além de um bloco emergente de registro de login.

Versão Desktop

  • Back End

    • Expor uma API Rest que nos permita gerenciar as diferentes categorias de nossos carros, ou seja, a API deve nos permitir realizar operações CRUD.

    • Testar com Postman o funcionamento correto.

  • Banco Dados

    • Criar uma base de dados em Mysql e a tabela “categorias” para persistir os dados de nosso sistema.

    Tabela Categorias

  • Testing

    • Planejar Casos de Teste baseados nos requisitos do que será desenvolvido durante a Sprint;
    • Validar o funcionamento da API Rest criada durante a Sprint através do Postman e criar todos os scripts de testes pertinentes;
    • Executar os Casos de Teste que foram planejados inicialmente para a Sprint;
    • Fazer um teste exploratório sobre o que foi desenvolvido durante a Sprint.
  • Infraestrutura

    • Criar repositório Gitlab e realizar o suporte dos integrantes do repositório;
    • Criar esboço da rede necessária para execução do projeto (servidores, banco de dados e armazenamento). Desenho da Infraestrutura

Review - Lições aprendidas

Discutimos os principais pontos impactantes da sprint nessa review e obstaculos enfrentados, levantadas as seguintes lições aprendidas:

✅ Melhorar a Gestao do tempo;

✅ Entregar maior valor para cliente;

✅ Descentralizar tarefas;

✅ Maior integração do grupo.


Segunda Sprint

Atualizamos o design no Figma e refatorado código, criado a infraestrutura no AWS, realizado os testes automatizados com as funcionalidades, desenvolvido os detalhes de produto no Front End e conectado as APIs do Back end, criada e populada as tabelas no Banco de Dados.

  • Front End

    • Criar tela de detalhe do produto;

    • Conexão APIs com a página Home;

    • Conexão APIs com a página detalhe do produto.

      Detalhes

  • Back End

    • API de produtos:

      • Criar produtos.
      • Listar produtos por categoria.
      • Listar produtos por cidade.
      • Buscar produtos por id.
      • Listar todos os produtos.
    • API de cidades:

      • Listar cidades.
      • Criar cidades
  • Banco Dados

    • Criar tabela de produtos.
    • Criar tabela de cidades.
    • Criar tabela de características.
    • Criar tabela de imagens.

    Tabelas e seus relacionamentos

  • Testing

    • Teste com Robot Framework da página Home.
    • Teste com Postman das APIs.
  • Infraestrutura

    • Criar infraestrutura para hospedagem no AWS.

Review - Lições aprendidas

Após implementado os pontos levantados na sprint anterior e demonstramos pontos fortes do grupo na review abaixo:

✅ Planejamento da review, para entregar o real valor do produto para o cliente;

✅ Adaptação dos requisitos;

✅ Refatoração e aperfeiçoando do código para melhor desepenho.

✅ Espírito de Equipe.


Terceira Sprint

Atualizado e refatorado todo código, criado as telas de reservas, desenvolvidas novas APIs e testadas, criadas e populadas novas tabelas no banco, além de feito deploy do código e adicionado imagens na AWS.

  • Front End

    • Tela de reserva.
    • Tela de confirmação de reserva.

Reserva

  • Back End

    • API de produtos:

      • Consulta de produtos por cidade e por data.
    • API de reserva:

      • Criar uma reserva;

      • Verificar as reservas por produto.

    • API de usuários:

      • Registro;

      • Login com JWT.

  • Banco Dados

    • Tabela de reservas;

    • Tabela de usuários;

    • Tabela de funções;

Tabela

  • Testing

    • Criar testes unitários para páginas de reserva e confirmação de reserva.

    • Executar teste exploratório das páginas de reserva e confirmação de reserva.

    • Desenvolver scripts de teste automatizados usando Postman para a API de produtos.

    • Continuar com as atividades de criação e execução de casos de teste manuais e testes estáticos.

  • Infraestrutura

    • Fazer o deploy do código no servidor web EC2 na AWS;
    • Criar tabelas no RDS na AWS;
    • Adicionar imagens no Bucket AWS para gerar URL.

Review - Lições aprendidas

Novos obstáculos foram identiifcados, a resiliência da equipe foi trabalhada, apesar de atrasos em algumas entregas devido a problemas identificados no código (funcionamento JWT) conseguimos realizar a entrega nesta penultima review.

✅ Suporte das equipes transversais;

✅ Determinação da equipe;

✅ Trabalhar no planejamento para evitar sobrecarga de atividades;

✅ Priorizar entregas essenciais;


Quarta Sprint

Iniciamos essa sprint com a resolução das pendências da quarta sprint e finalização das funcionalidades de administrador e reservas na API e no Front End. Implementação dos testes automatizados e relatórios, finalização do banco de dados e criação da URL.

  • Front End

    • Página de administrador de produto, para acessar usar login admin@dh.com.br e senha admin

    • Página de reservas feitas pelo usuário.

Admin

  • Back End

    • API de reservas:

      • Filtrar por usuario.
    • API de produto:

      • Modificar, buscar por id e listar todos.
    • API de usuários:

      • Registro;

      • Login com JWT.

  • Banco Dados

    • Entrega do DER do estado final da base de dados.

    DER

  • Testing

    • Criar e executar testes unitários utilizando JEST sobre as funcionalidades da página de reservas (realizadas por usuários) e sobre a página formulário de produto (a que se ingressa com perfil de administrador).
    • Realizar e registrar o testing exploratório sobre as funcionalidades da página de reservas e sobre a página formulário de produto.
    • Executar os casos de testes que pertencem à suite de regressão e gerar um relatório final de testes.
    • Adicionar à coleção de Postman scripts automatizados para testar os métodos agregados neste sprint.
    • Criar um script relacionado a ambas páginas em testes de regressão automatizados criados com Selenium Web Driver / JEST.
  • Infraestrutura

    • Criar uma URL para acesso ao site do Projeto Integrador.

Review - Lições aprendidas

Finalizamos o projeto com muitas lições aprendidas, pudemos simular o ambiente de trabalho, lidamos com desafios de hard skills e softskills além de rotacionarmos nas funções.

✅ Desenvolvemos autogerenciamento de ativades.

✅ Habilidades de comunição.

✅ Aprendemos a lidar com conflitos.

✅ Rotacionamento de atividades.


Como utilizar nossa plataforma

Front End

  • Realizar clone do repositório;
  • Abrir projeto na IDE VScode para executar o Front End;
  • Abrir terminal no VScode e executar comando git checkout Frontend;
  • Excutar comando npm install;
  • Executar comendo npm start.

Back End

  • Realizar clone do repositório;
  • Abrir projeto na IDE Intellij para executar o Back End;
  • Abrir terminal no VScode e executar comando git checkout Backend;
  • Excutar com comando Run ou Shift+F10.

Referências


Agradecimentos

O Grupo agradece aos instrutores e colegas do curso Certified Tech Developer da Digital House em especial aos professores e instrutores Vitória Gonçalves que desempenhou o papel de Scrum Master, Matheus Mafra que atuou como nosso PO e também aos professores Sergio Silva, Renan Souza, Whesley Rimar,Tiago Gomes além dos assistentes Gabriel Rodrigues, Priscilla Souza, Janete Ferreira, Moises Vasconcellos e Nidio Dolfini que nos deram toda base e conhecimento técnico necessário para desenvolvermos todo o projeto integrador.

Agradecemos também aos patrocinadores Mercado Livre e Globant por disponibilizar essas bolsas de estudo, que nos possibilitou a capacitação necessária para ingressar no mercado de trabalho.


Conclusão

Nosso projeto tem cunho educativo que visa simular o ambiente de trabalho, foi implementado nesse bimestre conceitos aprendidos durante esses 9 meses de curso consultando além dos materiais disponibilizados e colaboração dos tutores e colegas de turma.

About