- Introdução
- Ferramenta Utilizadas
- Requisitos
- Como utilizar nossa plataforma
- Referências
- Agradecimentos
- Conclusã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.
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.
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
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.
-
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.
-
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
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.
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
-
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.
-
Testing
- Teste com Robot Framework da página Home.
- Teste com Postman das APIs.
-
Infraestrutura
- Criar infraestrutura para hospedagem no AWS.
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.
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.
-
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;
-
-
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.
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;
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.
-
-
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.
-
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.
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.
- 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.
- 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.
- MDN - React
- StackOverflow
- Como usar o Fontawesome
- Youtube
- Datepicker
- Traversy Media
- Autenticação JWT com React Router
- Tutorial: Como criar um token JWT com Java, Spring Boot, Spring Security e JPA
- Protegendo sua aplicação Java com Spring Security
- Autenticação JWT com Spring Security
- API REST com Spring Boot - parte 5: Swagger
- Como fazer testes automatizados em JS
- React
- React Hooks JWT Authentication
- Spring Boot Token based Authentication with Spring Security & JWT
- MUI - React UI
- IQcode
- NPM
- CRUD Operations using MySQL Database
- CTD SummerWeek Spring Security
- SpringSecurity
- Swagger Cors
- Como Gerar Javadoc
- Spring Boot + Spring Security + JWT + MySQL + React Full Stack Polling App - Part 1
- Spring Boot + Spring Security + JWT + MySQL + React Full Stack Polling app - Part 2
- Summerweek Docker
- 21 Days of AWS using Terraform — Day 8- Introduction to AWS RDS MySQL using Terraform
- Deploy de Aplicação Java na AWS
- W3SHOOL-SQL
- Capitais do Brasil
- Documentação Robotframework
- Testes automatizados Selenium
- Testes React
- Playground
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.
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.