{"id":19663342,"url":"https://github.com/jonasaacampos/study_java_capgemini-start","last_synced_at":"2025-02-27T03:31:31.302Z","repository":{"id":107934006,"uuid":"490843375","full_name":"jonasaacampos/study_JAVA_Capgemini-Start","owner":"jonasaacampos","description":"Resolução de exercícios e Projetos solucionados no Programa Capgemini Start Java","archived":false,"fork":false,"pushed_at":"2022-06-14T14:43:19.000Z","size":313,"stargazers_count":7,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-10T02:13:12.922Z","etag":null,"topics":["css","html","java","java-fundamentals","oops-in-java","oriented-object-programming"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonasaacampos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-10T20:01:21.000Z","updated_at":"2024-07-23T23:41:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"3f820d08-df03-4314-bf68-dbf9cd00c07f","html_url":"https://github.com/jonasaacampos/study_JAVA_Capgemini-Start","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonasaacampos%2Fstudy_JAVA_Capgemini-Start","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonasaacampos%2Fstudy_JAVA_Capgemini-Start/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonasaacampos%2Fstudy_JAVA_Capgemini-Start/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonasaacampos%2Fstudy_JAVA_Capgemini-Start/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonasaacampos","download_url":"https://codeload.github.com/jonasaacampos/study_JAVA_Capgemini-Start/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240972642,"owners_count":19886999,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css","html","java","java-fundamentals","oops-in-java","oriented-object-programming"],"created_at":"2024-11-11T16:14:15.951Z","updated_at":"2025-02-27T03:31:31.296Z","avatar_url":"https://github.com/jonasaacampos.png","language":"Java","readme":"\u003cp align=\"center\"\u003e\n\t  \u003cimg alt=\"Java\" src=\"https://img.shields.io/static/v1?color=red\u0026label=Dev\u0026message=Java\u0026style=for-the-badge\u0026logo=Java\"/\u003e\n\u003c/p\u003e\n\n\u003cimg alt=\"Java\" src=\"img/java-badge.png\" width=150 align=right\u003e\n\n\u003ch1\u003ePrograma Start Java\u003c/h1\u003e\n\nNotas, projetos e insights gerados ao longo do curso, com o objetivo de documentar o aprendizado para futuras consultas e auxiliar interessados em programação no seu pontapé inicial.\n\n![](https://img.shields.io/badge/feito%20com%20%E2%9D%A4%20por-jaac-cyan)\n[![LinkedIn Badge](https://img.shields.io/badge/LinkedIn-Profile-informational?style=flat\u0026logo=linkedin\u0026logoColor=white\u0026color=0D76A8)](https://www.linkedin.com/in/jonasaacampos)\n\n\u003ch2\u003eTable of Contents\u003c/h2\u003e\n\n- [Sobre a Capgemini](#sobre-a-capgemini)\n- [Dependências necessárias](#dependências-necessárias)\n- [Lógica de Programação com JAVA // Projetos em TI](#lógica-de-programação-com-java--projetos-em-ti)\n- [Java Avançado](#java-avançado)\n- [HTML Avançado](#html-avançado)\n- [CSS Avançado](#css-avançado)\n- [Contato](#contato)\n- [Crédito das imagens](#crédito-das-imagens)\n\n\nÉ uma iniciativa da Capgemini para acelerar a formação de novos talentos\nem tecnologia, valorizando a inclusão e a diversidade.\n\n\u003cimg  src=\"https://www.capgemini.com/br-pt/wp-content/themes/capgemini-komposite/assets/images/logo.svg\"  width=250 align=right\u003e\n\n## Sobre a Capgemini\n\n\u003e _A Capgemini tem um papel fundamental a desempenhar para garantir que o futuro cumpra todas as suas promessas. Acreditamos que todas as tecnologias podem trazer o progresso para todos, se, antes de mais nada, forem projetadas por e através das pessoas. Como empresa responsável, o Grupo Capgemini é realista, tanto no que diz respeito às promessas como aos riscos da inovação tecnológica: o nosso papel é torná-la útil, acessível e ética. Esse propósito deve funcionar como uma bússola para cada um dos funcionários.”_\n\u003e\n\u003e Paul Hermelin, Chairman of the Board, and Aiman Ezzat, Chief Executive Officer of Capgemini\n\n## Dependências necessárias\n\nInstruções para instalação no linux \n\n**JAVA**\n```\n sudo apt-get purge oracle-java7-installer*\n sudo apt-get install ppa-purge\n sudo ppa-purge ppa:eugenesan/java\n sudo apt-get clean\n sudo apt-get update\n```\n\n**XAMPP**\n```\n//verificar a versão mais recente em\n// https://www.apachefriends.org/pt_br/download.html\n\n\nwget https://www.apachefriends.org/xampp-files/7.4.29/xampp-linux-x64-7.4.29-0-installer.run\nchmod +x xampp-installer.run\nsudo ./xampp-installer.run\n```\n-----\n## Lógica de Programação com JAVA // Projetos em TI\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cstrong\u003eLista de Exercício I - Lógica com Java\u003c/strong\u003e\n\u003c/summary\u003e\n\n- [x] 01 - Soma de dois números\n- [x] 02 - Operações matemáticas elementares\n- [x] 03 - Cálculo de consumo médio de combustível\n- [x] 04 - Cálculo de comissão de um vendedor\n- [x] 05 - Boletim escolar\n- [x] 06 - Troca de valores entre variáveis\n- [x] 07 - Conversor de temperatura\n- [x] 08 - Conversor monetário\n- [x] 09 - Cálculo rendimento aplicação\n- [x] 10 - Cálculo valor prestações\n- [x] 11 - Cálculo de preço de venda com base em margem de lucro\n- [x] 12 - Cálculo de preço de venda de um veículo\n- [x] 13 - Verifique se o valor inserido é maior que 10\n- [x] 14 - Verifique qual o maior número de 2 valores\n- [x] 15 - Verifique se os números digitados estão entre 100-200\n- [x] 16 - Boletim escolar melhorado\n- [x] 17 - Verifica se o número está em um intervalo\n- [x] 18 - Verifica se possui mais de 18 anos de x pessoas\n- [x] 19 - Algoritmo que coleta informações pessoais e classifica-as no final\n- [x] 20 - Sistema da concessionária Carango velho\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cstrong\u003eLista de Exercício II - Orientação a Objetos  com Java\u003c/strong\u003e\n\u003c/summary\u003e\n\n- [x] 1 - Crie uma classe para representar uma Pessoa com os atributos privados de nome, data de nascimento e altura. Crie os métodos públicos necessários para getters e setters e também um método para imprimir todos dados de uma pessoa. Crie um método para calcular a idade da pessoa.\n- [x] 2 - Crie uma classe para implementar uma ContaCorrente. A classe deve possuir os seguintes atributos:\n  número da conta, nome do correntista e saldo. Os métodos são os seguintes: alterarNome, depósito e\n  saque; No construtor, saldo é opcional, com valor default zero e os demais atributos são obrigatórios.\n- [x] 3 - Crie uma classe para representar uma BombaCombustivel. A classe BombaCombustivel deve conter os\n  seguintes atributos: tipo de combustível, valor por litro e quantidade de combustível. Além desses\n  atributos a classes deve conter os seguintes métodos: a. abastecerPorValor; //método onde é informado o valor a ser abastecido e mostra a quantidade de litros que foi colocada no veículo b. abastecerPorLitro; // método onde é informado a quantidade em litros de combustível e mostra o valor a ser pago pelo cliente. c. alterarValor; //altera o valor do litro do combustível. d. alterarCombustivel; //altera o tipo do combustível. e. alterarQuantidadeCombustivel; //altera a quantidade de combustível restante na bomba.\n- [x] 4 - Crie uma classe denominada Elevador para armazenar as informações de um elevador dentro de um\n  prédio. A classe deve armazenar o andar atual (térreo = 0), total de andares no prédio (desconsiderando o\n  térreo), capacidade do elevador e quantas pessoas estão presentes nele.\n- [ ] 5 - \n- [x] 6 - Crie uma classe chamada Invoice que possa ser utilizado por uma loja de suprimentos de informática para\n  representar uma fatura de um item vendido na loja. Uma fatura deve incluir as seguintes informações\n  como atributos:  o número do item faturado,  a descrição do item,  a quantidade comprada do item e  o preço unitário do item. Sua classe deve ter um construtor que inicialize os quatro atributos. Se a quantidade não for positiva, ela deve ser configurada como 0. Se o preço por item não for positivo ele deve ser configurado como 0.0.  Forneça os métodos getters e setters para cada variável de instância. Além disso, forneça um método  chamado getInvoiceAmount que calcula o valor da fatura (isso é, multiplica a quantidade pelo preço por item) e depois retorna o valor como um double. Escreva um aplicativo de teste que demonstra as capacidades da classe Invoice.\n\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eProjetos em TI\u003c/strong\u003e\u003c/summary\u003e\n\n_Melhor do que pensar e começar a codificar, é em um papel as ideias anotar._\n\n1. Definição geral do projeto\n2. Requisitos\n3. Regras de negócio\n4. Escopo tecnológico\n\n\u003c/details\u003e\n\nO projeto desenvolvido nesta curso foi um gerenciador de tarefas, que está disponível e documentado [neste repositório](https://github.com/jonasaacampos/GerenciadorDeProjetos).\n\nOs requisitos foram levantados, a documentação inicial foi feita e foi confeccionado um checklist para acompanhamento do desenvolvimento.\n\n## Java Avançado\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eInterfaces\u003c/strong\u003e\u003c/summary\u003e\n\nInterfaces são objetos do Java que podem ser utilizadas de forma específica para cada classe.\n\nÉ um agrupamento de classes que contenham caracteríscas em comum.\nDiferente da herança, uma interface pode ser utilizada em várias classes.\n\n\u003cblockquote\u003eOs métodos na interface não possue retorno.\u003c/blockquote\u003e\n\nEx.:\nPodemos criar um construtor de `AnimaisFazenda`, e todos os animais criados teriam obrigatoriamente os mesmos métodos, mas com saídas diferentes.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eConstrutores\u003c/strong\u003e\u003c/summary\u003e\n\nConstrutor com sobrecarga é quando definimos que os dados serão passados diretamente no construtor.\n\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eEnumeradores\u003c/strong\u003e\u003c/summary\u003e\n\n*Como se fosse um case, uma valor predefinido dentro no método.*\n\nServe para evitar que tenhamos que criar uma tabela no banco de dados para guardar apenas alguns valores.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eModificadores de Acesso\u003c/strong\u003e\u003c/summary\u003e\n\nprivate \u003e default \u003e protected \u003e public\n\nExistem em dois níveis, nível superior e nível de membro.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eArrays\u003c/strong\u003e\u003c/summary\u003e\nArrays são estruturas de dados homogêneos. Podem ser declarados como a seguir:\n\n```\nint[] numeros = new int[4];\n\nint numerosOutroJeito;\nnumerosOutroJeito = new int[4];\n\n//varios arrays\nint numeros1 = new int[10], numeros2 = new int[11], numeros3 = new int[5];\n\nvalores padrão array\nnumetos = 0\nboolean = false\nreferencias = null\n\n```\n\n\u003c/details\u003e\n\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eMatrizes\u003c/strong\u003e\u003c/summary\u003e\n\nJava Collections\n\nColection é uma estrutura de dados que permite adicionar diversos objetos.\n\n\u003cblockquote\u003earrayList não é um array\u003c/blockquote\u003e\n\nAltera/resgata com base na posição\nRemove com base no conteúdo\n\nArrayList = meio da lista\nLinkedList = extremidades da lista\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eAnotations (informações comnplementares no codigo fonte)\u003c/strong\u003e\u003c/summary\u003e\n\n*São como metadados*, fornecem dados sobre um programa que não faz parte do próprio programa. As anotações não têm efeito direto sobre a operação do código que anotam.\n\nAs anotações têm vários usos, entre eles:\n\n- **Informações para o compilador:** As anotações podem ser usadas pelo compilador para detectar erros ou suprimir avisos.\n- **Processamento em tempo de compilação e implantação:** Ferramentas de software podem processar informações de anotação para gerar código, arquivos XML e assim por diante.\n- **Processamento em tempo de execução:** Algumas anotações estão disponíveis para serem examinadas em tempo de execução.\n\n**Para saber mais**\n\nThe Java™ Tutorials [Lesson: Annotations](https://docs.oracle.com/javase/tutorial/java/annotations/)\n\nNelson Glauber [Java Custom Annotations](https://nglauber.medium.com/java-custom-annotations-49b2418b75e1)\n\n\u003c/details\u003e\n\n## HTML Avançado\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eOnpage SEO\u003c/strong\u003e\u003c/summary\u003e\n\n- *não confundir com site OnePage!*\n- não tem relação com colocar palavras chave nos códigos. Isso era usado quando os mecanismos de busca verificavam o código\n- é o inverso do outbound (panfletagem). Aqui **primeiro você explica, e depois mostra o produto**\n\n**offpage** é o que está fora, de comos os outros sites falam de você.\n\n**principais elementos**\n- url amigável\n- meta title\n- meta description\n- site map\n- título da página\n- conteúdo de texto\n\n---\n\n**☑️ Checklist ONPAGE SEO**\n\n- [ ] Título da página (h1): Sem limite de caracteres, mas usar bom senso\n- [ ] Meta Title (SEO Title): \n    - [ ] Título da aba `\u003ctitle\u003e`\n    - [ ] Máx. 70 caracteres\n- [ ] Meta Description\n    - [ ] Deve conter o resumo da página\n    - [ ] call to action (verbo no imperativo)\n    - [ ] máx. 160 caracteres.\n    - [ ] \u003cmeta name=\"description\" content=\"ZPTO\"\u003e\n- [ ] URL Amigável\n    - [ ] incluir palavras chave, sem caracteres especiais\n    - [ ] separar por hífen\n- [ ] Sitemap (0arts?)\n    - [ ] xml com todas as páginas do site\n    - [ ] facilita o acesso, pois não é preciso esperar o crawler do google encontrar seu site\n- [ ] Imagens\n    - [ ] usar atributo ALT e DESCRIÇÃO da imagem\n    - [ ] nome do arquivo otimizado\n    - [ ] \u003cimg scr=\"camisa-polo-rosa\" alt=\"camisa polo rosa\" title=\"Camisa Polo Rosa Promoção\"/\u003e\n    - [ ] usar title na imagem\n- [ ] Campos únicos\n    - [ ] Dados relacionados ao SEO, como meta title\n    - [ ] Não copiar de outras empresas\n    - [ ] Não copiar de suas próprias páginas\n- [ ] Conteúdo\n    - [ ] Sempre original\n    - [ ] Preze pela qualidade\n    - [ ] Relevância para o tema abordado\n- [ ] Hiperlinks\n    - [ ] Use sempre que possível, deixando o texto interativo\n- [ ] Intertítulos \u003ch2\u003e\n    - [ ] Facilita a leitura\n    - [ ] Organiza do conteúdo\n- [ ] Mobile-frendliness\n- [ ] Velocidade de Carregamento\n- [ ] Legibilidade\n- [ ] Sem Erros\n- [ ] Segurança\n- [ ] +200...\n\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eAcessibilidade\u003c/strong\u003e\u003c/summary\u003e\n\nAplicações devem ser acessíveis independentemente da capacidade auditiva, visual, física ou cognitiva dos usuários.\n\nSites seguros (do ponto de vista da saúde do usuário)\n\n- Pensar nas cores e tamanhos\n- Sem telas piscantes (prejudicam pessoas com epilepsia)\n- Sem itens que possam causar dor de cabeça\n\n[Teste compatibilidade dispositivos móveis](https://search.google.com/test/mobile-friendly)\n\n1. Bom para atração de público\n2. Boa usabilidade em dispositivos móveis\n3. Fácil de ser desenvolvido\n4. Aumenta a audiẽncia do site\n\n\n- **Boas práticas de acessibilidade** da [Mozilla Fondation](https://developer.mozilla.org/pt-BR/docs/Learn/Accessibility/HTML).\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eSegurança (de software)\u003c/strong\u003e\u003c/summary\u003e\n\n- SSL/TLC\n- CORS\n- CSP\n- OWASP top 10\n\n**SSL:** Secure Sockets Layer. Camadade Socket Segura. Depreciado, se possível usar o TLS.\n\n**TLS:** Transport Layer Secure. Segurança na camada de transporte\nProtocolos criptografados que garantem maior segurança na comunicação, impedindo o uso das informações por terceiros.\nUsuários podem usar com http ou com https\n\n**CORS:** Cross-origin resource Sharing (compartilhamento de recursos de origem diferentes)\n\n**Possíveis erros**\n* XML HTTP Request - objetos pra interafir com servidores. Da obetanção de dados da url até uma atualização completa\n* Fetch APIs - interfaces para buscar recursos, usadas para acessar e manipular recursos ctml\n* CSS shapes\n* carregamentos de imagens\n\n**soluções possívels CORS**\n\nGeralmente problemas são causados por ausência de header\nhá a possibilidade de fazer estas configurações no servidor web\n\n**CSP:** Content Secure policy\n\nCamada adicional de seguranção, que visa detectar ataques, como inselão de dados e Cross Site Scripting XSS\n\n[Content Security Policy Reference](https://content-security-policy.com/)\n\n\n[The Mozilla Observatory](https://observatory.mozilla.org/)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eOWSP Top 10\u003c/strong\u003e\u003c/summary\u003e\nAponta as principais falhas de segurança, de acordo com especialistas do mundo todo. É um documento de conscientização para segurança web.\n\n[Site oficial](https://owasp.org/www-project-top-ten/)\n\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003ePWA (Progressive Web Application)\u003c/strong\u003e\u003c/summary\u003e\n\nÉ basicamente uma página web. Pode ser desenvolvido para se comportar como app nativo\n\n**Vantagens de uso**\n\n- Poucas alterações no fonte\n- usos API para controle de hardware\n- Envio de notificações push\n- Pode ser usado offline\n- Multiplataforma\n\n**Desvantagens**\n\n- Não fica disponível nas lojas de apps\n- Fica lento se a aplicação for pesada\n- Acesso limitado ou inexistente para alguns recursos\n\nPara ver quais recursos são suportados nas plataformas, usar o [What Web Can Do Today?](https://whatwebcando.today/)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eApp Shell\u003c/strong\u003e\u003c/summary\u003e\nÉ um mínimo de html, js e css que alimenta a interface para o usuário, com o objetivo de:\nCarregamento rápido\nGFerar armazenamento em cache\nTer exibição dinãmica\n\nPriorizar cache inicial\nCarregamento assíncrono\nferramentas de gerenciamento de conteúdo confiável para armazenar e atualizar o cache\n\n`npm install serviceWorker`\n\n```\n\u003cscript\u003e\n    if ('serviceWorker' in navigator) {\n        navigator.serviceWorker.register('generate-sw.js');\n}\n\u003c/script\u003e\n```\n**Ferramentas úteis para gerar o PWA**\n\n- [Web App Manifest Generator](app-manifest.firebaseapp.com)\n- [PWA Manifest Generator](https://www.simicart.com/manifest-generator.html/)\n\n\n**cache**\n\nService Worker e suas principais etapas\n- Install: só é chamado uma vez,é chamamo novamnte somente em caso de alteração\n- Activate\n- Fetch\n- message\n- sync\n- push\n\n\u003c/details\u003e\n\n## CSS Avançado\n\nCss são folhas de estilo compostas por camadas. CSS avançado expande a capacidade traz algumas *melhorias ao css raiz*.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003ePré processadores CSS\u003c/strong\u003e\u003c/summary\u003e\n\nA falta de dinamismo do css deixa o código repetitivo e extenso.\n\nPré porcessadores são linguagens intermediárias, que adicionam recursos com menos linhas de código. Lêem todo o código gerado e convertem para css.\n\nExemplos de pré processadores de css:\n\n- LESS\n- Sass\n- Stylus\n\n**Vantagens**\n\n- Criação de variáveis, condicionais, laços, imports, extends, funções, Mixins\n- Facilita a manutenção do código\n- Permite um código limpo\n- Códigos reutilizáveis\n- Código mais legível\n\n**Desvantagens**\n\n- Aumenta de complexidade em relação ao CSS\n- Pode acarretar baixo desempenho caso mau uso\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eLESS\u003c/strong\u003e\u003c/summary\u003e\n\n[lesscss.org](lesscss.org)\n\n- baseado em js.\n- reduz redundancia de codigo\n\n**Variáveis:**\n\n```\n@cor = blue;\n@cor3 = navy;\n```\n\n**Hierarquia**\n\n```\n p {\n    color: @cor;\n    b {\n        background-color = cor3;\n        }\n    }\n```\n\n**[Funções](lesscss.org/functions/)**\n\n```\n@larguraColuna = 0.75;\n\np {\n   width: percentage(@width);\n}\n```\n\n**MixIns** (como uma função)\n\nusado quando há itens iguais em mais de um seletor\n\n```\n.cores(){\n    color: @cor1;\n}\n```\n\u003c/details\u003e\n\n--------\n\u003c!-- CONTACT --\u003e\n## Contato\n\n\u003cp align='center'\u003e\n  \u003ca href='https://github.com/jonasaacampos'\u003e\n    \u003cimg src='https://img.shields.io/badge/GitHub-100000?style=for-the-badge\u0026logo=github\u0026logoColor=white'/\u003e\n  \u003c/a\u003e\n  \u003ca href='https://www.linkedin.com/in/jonasaacampos/'\u003e\n    \u003cimg src='https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white'/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n**Author:** Jonas Araujo de Avila Campos\n\n**Confira mais projetos: [AQUI](https://github.com/jonasaacampos)**\n\n## Crédito das imagens\n- O badge Java no início do arquivo são do FlatIcon.\n- A logomarca da Capgemini foi retirada do site da Capgemini e foi inserido neste documento com finalidade de contextualizar o leitor.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonasaacampos%2Fstudy_java_capgemini-start","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonasaacampos%2Fstudy_java_capgemini-start","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonasaacampos%2Fstudy_java_capgemini-start/lists"}