{"id":42629239,"url":"https://github.com/henriqueotogami/road-to-java-oca","last_synced_at":"2026-04-19T22:14:28.460Z","repository":{"id":335012743,"uuid":"1143771749","full_name":"henriqueotogami/road-to-java-oca","owner":"henriqueotogami","description":"🇧🇷 [PT-BR] - Jornada para certificação Java OCA","archived":false,"fork":false,"pushed_at":"2026-04-12T16:20:31.000Z","size":10290,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-12T18:07:54.094Z","etag":null,"topics":["certification","codeql","github-actions","gradle","henriqueotogami","jacoco","java-8","java-ci-with-gradle","java-oca","junit5","log4j2","sonarcloud","sonarqube","yaml-configuration"],"latest_commit_sha":null,"homepage":"https://sonarcloud.io/project/overview?id=henriqueotogami_road-to-java-oca","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/henriqueotogami.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"henriqueotogami","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2026-01-28T00:49:40.000Z","updated_at":"2026-04-12T16:20:42.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/henriqueotogami/road-to-java-oca","commit_stats":null,"previous_names":["henriqueotogami/road-to-java-oca"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/henriqueotogami/road-to-java-oca","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriqueotogami%2Froad-to-java-oca","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriqueotogami%2Froad-to-java-oca/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriqueotogami%2Froad-to-java-oca/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriqueotogami%2Froad-to-java-oca/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/henriqueotogami","download_url":"https://codeload.github.com/henriqueotogami/road-to-java-oca/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriqueotogami%2Froad-to-java-oca/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32024610,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["certification","codeql","github-actions","gradle","henriqueotogami","jacoco","java-8","java-ci-with-gradle","java-oca","junit5","log4j2","sonarcloud","sonarqube","yaml-configuration"],"created_at":"2026-01-29T05:14:39.987Z","updated_at":"2026-04-19T22:14:28.454Z","avatar_url":"https://github.com/henriqueotogami.png","language":"Java","readme":"# ☕ Estudos Java OCA - Oracle Certified Associate\n\n\u003e Repositório destinado a **estudos colaborativos para a certificação Java OCA (Oracle Certified Associate)**.\n\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://img.shields.io/github/v/release/henriqueotogami/road-to-java-oca?style=for-the-badge\"\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cimg width=\"500\" src=\"https://github.com/henriqueotogami/road-to-java-oca/blob/main/src/main/resources/images/rounded-header-otogami.png?raw=true\"\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003ch3\u003eSTATUS DO REPOSITÓRIO\u003c/h3\u003e\n\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/henriqueotogami/road-to-java-oca/.github%2Fworkflows%2Fgradle.yml?style=for-the-badge\"\u003e\n\u003cimg src=\"https://img.shields.io/github/release-date/henriqueotogami/road-to-java-oca?style=for-the-badge\"\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/henriqueotogami/road-to-java-oca?style=for-the-badge\"\u003e\n\u003cimg src=\"https://img.shields.io/github/checks-status/henriqueotogami/road-to-java-oca/main?style=for-the-badge\"\u003e\n\u003cimg src=\"https://img.shields.io/github/issues/henriqueotogami/road-to-java-oca?style=for-the-badge\"\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://img.shields.io/github/forks/henriqueotogami/road-to-java-oca?style=for-the-badge\"\u003e\n\u003cimg src=\"https://img.shields.io/github/stars/henriqueotogami/road-to-java-oca?style=for-the-badge\"\u003e\n\u003cimg src=\"https://img.shields.io/github/license/henriqueotogami/road-to-java-oca?style=for-the-badge\"\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003ch3\u003eSTATUS DO SONAR CLOUD\u003c/h3\u003e\n\u003cimg src=\"https://sonarcloud.io/api/project_badges/measure?project=henriqueotogami_road-to-java-oca\u0026metric=alert_status\"\u003e\n\u003cimg src=\"https://sonarcloud.io/api/project_badges/measure?project=henriqueotogami_road-to-java-oca\u0026metric=bugs\"\u003e\n\u003cimg src=\"https://sonarcloud.io/api/project_badges/measure?project=henriqueotogami_road-to-java-oca\u0026metric=coverage\"\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003ch3\u003eSTATUS DO GITHUB ACTIONS\u003c/h3\u003e\n\u003cimg src=\"https://github.com/henriqueotogami/road-to-java-oca/actions/workflows/github-code-scanning/codeql/badge.svg?style=for-the-badge\"\u003e\n\u003cimg src=\"https://github.com/henriqueotogami/road-to-java-oca/actions/workflows/gradle.yml/badge.svg?style=for-the-badge\"\u003e\n\u003cimg src=\"https://github.com/henriqueotogami/road-to-java-oca/actions/workflows/sonar.yml/badge.svg?style=for-the-badge\"\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003ch3\u003eSTATUS DO WAKATIME\u003c/h3\u003e\n\u003ca href=\"https://wakatime.com/badge/user/1e53636e-c916-4d50-9ce1-f3ac75a883e3/project/3a5e3f46-b18c-49e9-8b81-cda72611432d\"\u003e\u003cimg src=\"https://wakatime.com/badge/user/1e53636e-c916-4d50-9ce1-f3ac75a883e3/project/3a5e3f46-b18c-49e9-8b81-cda72611432d.svg\" alt=\"wakatime\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://ko-fi.com/henriqueotogami\" target=\"_blank\"\u003e\n  \u003cimg src=\"https://cdn.ko-fi.com/cdn/kofi3.png?v=3\" alt=\"Apoie o Projeto\" style=\"height:50px;\"\u003e\n\u003c/a\u003e\n\u003c/div\u003e\n\n## 📋 Sobre o Projeto\n\nEste repositório contém uma coleção organizada de exemplos de código, exercícios e documentação para preparação do exame **Oracle Certified Associate (OCA) Java SE 8 Programmer I**. Os conteúdos seguem o guia oficial de estudos e incluem práticas de pacotes, imports, variáveis, controle de fluxo, OOP e demais tópicos cobrados na certificação.\n\nO projeto utiliza **Gradle** para build e está estruturado por capítulos, facilitando a revisão para a prova e o estudo colaborativo em grupo. Além disso, foi adotado um pipeline de qualidade com **JaCoCo** e **SonarCloud** para reforçar boas práticas de testes e código limpo: os relatórios de cobertura ajudam a manter um nível mínimo de testes para cada capítulo, enquanto a análise estática destaca bugs, code smells e problemas de manutenção que são discutidos em grupo como parte do aprendizado.\n\n## 🛠️ Tecnologias Utilizadas\n\n- ☕ **Java 8 (SE)** - Linguagem e versão alvo da certificação OCA\n- 🧱 **Gradle** - Build, testes, cobertura e integração com análise estática\n- ✅ **JUnit 5 (Jupiter)** - Testes unitários\n- 🌱 **Git** - Controle de versão e fluxo colaborativo\n- 📊 **JaCoCo** - Geração de relatórios de cobertura de testes (XML/HTML) integrados ao Gradle\n- 🔍 **SonarCloud (SonarQube SaaS)** - Análise estática de código e cobertura via workflow `SonarCloud Analyze` (`./gradlew build sonar`)\n- 🤖 **GitHub Actions** - CI (build, testes, envio de cobertura para o SonarCloud e dependency submission)\n\n## 🚀 Como Usar\n\n### ⚙️ Pré-requisitos\n\n- [Java 8 JDK](https://adoptium.net/) ou superior\n- [Gradle](https://gradle.org/install/) (ou use o wrapper: `./gradlew`)\n\n### 📦 Como Executar\n\n```bash\ngit clone https://github.com/henriqueotogami/road-to-java-oca.git\ncd road-to-java-oca\n./gradlew build\n./gradlew test\n```\n\nTasks por capítulo:\n\n```bash\n./gradlew chapter01\n./gradlew chapter02\n./gradlew chapter03\n./gradlew chapter04\n```\n\n## 📚 Conteúdos Abordados\n\n**Capítulo 1 (`oca/chapter01`)**\n\n- ✅ Empacotamento e estrutura de pacotes em Java\n- ✅ Compilação e interpretação (javac, JVM, bytecode)\n- ✅ Imports (simples, estático, múltiplo)\n- ✅ Interfaces e implementações\n- ✅ Propriedades do sistema (`-D`, `System.getProperty`)\n- ✅ Exercícios de compilação, classpath e subpacotes\n- ✅ Material complementar (`StringTokenizer`)\n\n**Capítulo 2 (`oca/chapter02/instructions` e `oca/chapter02/primitives`)**\n\n- ✅ Variáveis e tipos (primitivos, wrappers, conversões)\n- ✅ Operadores (atribuição, aritméticos, incremento/decremento, lógicos)\n- ✅ Estruturas condicionais (`if`/`else`, ternário, `switch` com `String` e com enum)\n- ✅ Laços (`for`, `for` aprimorado, `while`, `do-while`)\n- ✅ Enums e mapeamento id/nome para constantes\n- ✅ Arrays de primitivos e iteração\n- ✅ Introdução a coleções (`ArrayList` no exercício)\n- ✅ Palavras-chave de transferência de controle (`break`, `continue`, `return` nos exemplos)\n- ✅ Asserções (`assert`) em código didático\n- ✅ Logging com **Log4j2** nos exemplos\n\n**Capítulo 3 (`oca/chapter03/operators`)**\n\n- ✅ Operadores e precedência com cenários práticos\n- ✅ Modelagem de exemplos orientados ao domínio (`Order`, `PirateShip`)\n- ✅ Execução de exemplos e validação por testes automatizados\n\n**Capítulo 4 (`oca/chapter04`)**\n\n- ✅ Tipos primitivos e conversões (`byte` a `double`)\n- ✅ Objetos e wrappers (`Object`, `Integer`)\n- ✅ Enums e regras básicas de uso\n- ✅ Exercícios aplicados (`ERACalculator`) e bateria de testes do capítulo\n\n**Repositório e qualidade**\n\n- ✅ Testes automatizados por capítulo (JUnit 5, tasks `chapter01` / `chapter02` / `chapter03` / `chapter04`)\n- ✅ Cobertura **JaCoCo** e análise **SonarCloud** (Quality Gate e métricas no CI)\n- ✅ **GitHub Actions** (build Gradle, workflow Sonar; badge de **CodeQL** no README)\n- ✅ Boas práticas de versionamento (branches, issues, tags)\n- ✅ Estrutura em evolução para módulo `app/` com exemplos e testes dos capítulos iniciais\n\n**Ainda não coberto no código (próximos capítulos OCA)**\n\n- 🔲 Métodos e encapsulamento (aprofundamento completo)\n- 🔲 Herança e polimorfismo avançados\n- 🔲 Exceções (tratamento e hierarquia em profundidade)\n- 🔲 APIs fundamentais (`StringBuilder`, datas, APIs de coleções e utilitários avançados)\n\n## 🌿 Fluxo de Trabalho\n\n### 🌿 Estrutura de Branches\n\n```\nmain\n  |\n  |____ dev-henrique\n  |____ dev-vitor\n  |____ dev-lucas\n```\n\n### 🌳 `main`\n- Branch principal e consolidada do repositório\n- Representa o estado atual do aprendizado do grupo\n- Contém apenas código revisado e validado\n- ❌ **Não é permitido commit direto**\n\n### 🌱 `dev-henrique` / `dev-vitor` / `dev-lucas`\n- Branches individuais dos integrantes\n- Criadas **exclusivamente** para atender uma Issue\n- Devem sempre ser criadas a partir da `main`\n\n### 🐞 Issues (Obrigatórias)\n\n- Toda task de estudo **deve começar com uma Issue**\n- ❌ Nenhuma branch pode ser criada sem Issue associada\n- A Issue deve descrever: tópico, objetivo e escopo\n\n### 🏷️ Padrão de Nomenclatura\n\n**Branches:** `dev-henrique/issue-#12`, `dev-vitor/issue-#15`  \n**Tags (task):** `task-01-variaveis`, `task-02-operadores`  \n**Tags (capítulo):** `chapter01`, `chapter02`\n\n### 🔁 Fluxo Completo\n\n1. Criar **Issue** descrevendo a task\n2. Criar branch individual a partir da `main`\n3. Desenvolver e estudar na branch\n4. Garantir que os testes passem localmente e que a cobertura de testes unitários esteja **≥ 80%** (ver relatórios JaCoCo e painel do SonarCloud)\n5. Abrir **Pull Request** para `main` ao concluir\n6. Aguardar o GitHub Actions rodar `./gradlew build sonar` e verificar o **Quality Gate** do SonarCloud (cobertura ≥ 80%, ausência de novos bugs críticos e code smells bloqueantes)\n7. Revisar em grupo\n8. Merge → fechar Issue → criar **tag**\n\n### 🔗 Integração Gradle + SonarCloud no fluxo\n\n- **Commits e Pull Requests** para qualquer branch disparam o workflow `SonarCloud Analyze` no GitHub Actions.\n- Esse workflow executa os scripts Gradle configurados no projeto:\n  - `./gradlew build` → compila o código, roda os testes (`test`, `chapter01`, `chapter02`) e gera o relatório de cobertura do **JaCoCo**.\n  - `./gradlew sonar` → usa o plugin `org.sonarqube` para enviar código, métricas e o relatório do JaCoCo para o **SonarCloud**.\n- O resultado aparece no painel do SonarCloud, que aplica o **Quality Gate** (incluindo a regra de cobertura ≥ 80%) e sinaliza no PR se o código está ou não em conformidade com os critérios de qualidade.\n\n## ⚠️ Observações Importantes\n\n- ❌ Nunca trabalhar diretamente na branch `main`\n- ❌ Nenhuma branch sem Issue associada\n- ✅ Preferir commits pequenos e bem descritos\n- 📚 O histórico de commits, Issues e tags faz parte do material de estudo\n\n## 📖 Referências\n\n- [Oracle Certified Associate (OCA) Java SE 8](https://education.oracle.com/java-se-8-programmer-i/pexam_1Z0-808)\n- [Java SE 8 Documentation](https://docs.oracle.com/javase/8/docs/)\n- [Guia de Estudos OCA Java SE 8](docs/) (material interno)\n- [Gradle User Manual](https://docs.gradle.org/current/userguide/userguide.html)\n\n## 🤝 Contribuindo\n\nContribuições são bem-vindas! Para contribuir:\n\n1. Faça um **fork** deste repositório\n2. Crie uma **Issue** descrevendo o tópico de estudo\n3. Crie um **branch** a partir da `main` (`dev-\u003cname\u003e/issue-\u003c#number\u003e`)\n4. Faça **commit** das suas mudanças\n5. Abra um **Pull Request** referenciando a Issue\n\n## 📝 Changelog\n\n### 🆕 Versão 0.6\n- Expansão documentada da trilha com capítulos adicionais já presentes no código (`chapter03` e `chapter04`), incluindo operadores, primitivos, objetos, wrappers, enums e exercícios.\n- Atualização das tasks e estratégia de testes por capítulo para refletir o fluxo completo (`chapter01` a `chapter04`) no build principal.\n- Inclusão e organização do módulo `app/` com exemplos, testes e recursos dos capítulos iniciais, preparando o repositório para evolução modular.\n- Atualização do README: **Conteúdos Abordados**, hashtags e meta keywords alinhados ao estado atual do projeto.\n\n### 📌 Versão 0.5\n- README: seção **Conteúdos Abordados** reorganizada por capítulo e alinhada ao que existe em `app/src/main/java` (Cap. 1 e Cap. 2, qualidade de código, itens ainda pendentes na trilha OCA)\n- README: badges agrupados (repositório, SonarCloud, GitHub Actions incluindo CodeQL, Wakatime)\n- Hashtags e meta keywords atualizadas (Log4j2, enums, arrays, CodeQL, estudo colaborativo)\n\n### 📌 Versão 0.4\n- Adição do Capítulo 2 em `chapter02/primitives` (exemplos de variáveis, operadores, controle de fluxo, enums, laços, exercícios com `String`/`ArrayList`)\n- Testes automatizados do Capítulo 2 (JUnit 5) e task Gradle `chapter02` (`./gradlew chapter02`)\n- Documentação: `docs/chapter02/annotations.txt` e `chapter02Exame.txt` (simulado)\n- Pipeline **JaCoCo + SonarCloud** (plugins `jacoco` e `org.sonarqube`, workflow `SonarCloud Analyze`, `./gradlew build sonar`)\n\n### 📌 Versão 0.3\n- Interface `Planet` no pacote `exercise02` (Earth, Mars, Venus implementam a interface)\n- Testes automatizados com JUnit 5: `ImportAndCompileTest` para `Exercise01Import` e `Exercise02Compile`\n- Task Gradle `chapter01` para executar apenas os testes do Capítulo 1 (`./gradlew chapter01`)\n- Documentação: `docs/chapter01/article.txt` (artigo do Capítulo 1: plataforma, empacotamento, compilação)\n- Tecnologias: migração de JUnit 4 para JUnit 5 (Jupiter)\n\n### 📌 Versão 0.2\n- Exemplos do Capítulo 1 em subpacotes: `exemple01`–`exemple06` (pacotes, imports, interfaces, propriedades)\n- Exercícios: `exercise01` (imports), `exercise02` (compilação e pacote `planets`: Earth, Mars, Venus)\n- Material complementar em `plus/` (StringTokenizer)\n- Recursos em `app/src/main/resources/oca/chapter01/fundamentals/` (logs, propriedades, instruções)\n- Documentação em `docs/` e anotações em `chapterExam.txt`\n- CI com GitHub Actions (Gradle build e dependency submission)\n- Fluxo de trabalho documentado\n\n## 📄 Licença\n\nEste projeto está licenciado sob a MIT License - veja o arquivo [LICENSE](LICENSE) para mais detalhes.\n\n### 🔎 Hashtags\n\n#Java #OCA #OracleCertification #JavaSE8 #1Z0808 #Certification #Study #Learning #Gradle #JUnit5 #JaCoCo #SonarCloud #SonarQube #CodeQL #GitHubActions #CI #Log4j2 #Enums #Arrays #Operators #ControlFlow #Primitives #Wrappers #OpenSource #Backend #CollaborativeStudy\n\n### 🧠 Meta Keywords\n\n```\njava oca, 1z0-808, oracle certified associate, java se 8 programmer i, certificação java,\nestudos java, preparação oca, guia oca, exemplos java, exercícios java,\ngradle, junit 5, testes unitários, jacoco, cobertura de código,\nsonarcloud, sonarqube, quality gate, code smells, análise estática,\ngithub actions, codeql, segurança de código, ci cd,\nlog4j2, enums, switch string, arraylist, controle de fluxo, primitivos, operadores java,\nprecedência de operadores, wrappers java, object java, exercícios oca, chapter03, chapter04,\nprogramação java, backend, aprendizado colaborativo, open source\n```\n\n\u003cdiv align=\"center\"\u003e\n\u003cbr\u003e\n\u003ca href=\"https://ko-fi.com/henriqueotogami/tip\" target=\"_blank\"\u003e\u003cimg width=\"500\" src=\"https://github.com/henriqueotogami/road-to-java-oca/blob/main/src/main/resources/images/kofi-henrique-otogami.jpg?raw=true\" alt=\"Apoie no Ko-fi\"\u003e\u003c/a\u003e\n\u003cbr\u003e\u003cbr\u003e\n\u003ca href=\"https://ko-fi.com/henriqueotogami\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.ko-fi.com/cdn/kofi3.png?v=3\" alt=\"Apoie o Projeto\" style=\"height:50px;\"\u003e\u003c/a\u003e\n\u003cbr\u003e\u003cbr\u003e\n\u003ca href=\"https://dev.to/henriqueotogami\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Dev.to-0A0A0A?style=for-the-badge\u0026logo=dev.to\u0026logoColor=white\" alt=\"Dev.to\"\u003e\u003c/a\u003e\n\u003ca href=\"https://medium.com/@henriqueotogami\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Medium-12100E?style=for-the-badge\u0026logo=medium\u0026logoColor=white\" alt=\"Medium\"\u003e\u003c/a\u003e\n\u003ca href=\"https://ko-fi.com/henriqueotogami/tip\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Ko--fi-FF5E5B?style=for-the-badge\u0026logo=ko-fi\u0026logoColor=white\" alt=\"Ko-fi\"\u003e\u003c/a\u003e\n\u003ca href=\"https://www.linkedin.com/in/henrique-matheus-alves-pereira\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white\" alt=\"LinkedIn\"\u003e\u003c/a\u003e\n\u003ca href=\"https://instagram.com/henriqueotogami.dev\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Instagram-E4405F?style=for-the-badge\u0026logo=instagram\u0026logoColor=white\" alt=\"Instagram\"\u003e\u003c/a\u003e\n\u003cbr\u003e\n\u003c/div\u003e","funding_links":["https://ko-fi.com/henriqueotogami","https://ko-fi.com/henriqueotogami/tip"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhenriqueotogami%2Froad-to-java-oca","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhenriqueotogami%2Froad-to-java-oca","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhenriqueotogami%2Froad-to-java-oca/lists"}