Skip to content

cedricrr/java-stack-mastery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Java Stack Mastery 🚀

License: MIT Java Spring Boot Quarkus

Roadmap completo e evolutivo para dominar Spring Framework, Quarkus, Docker e Kubernetes

🎯 Objetivo

Criar uma base sólida e profissional em tecnologias Java modernas para desenvolvimento de aplicações cloud-native, documentando todo o processo de aprendizado de forma evolutiva e prática.

📚 Stack Tecnológica

Categoria Tecnologias
Backend Spring Boot 3.x, Quarkus 3.x
Linguagem Java 21 (LTS)
Build Tools Maven, Gradle
Containerização Docker, Docker Compose
Orquestração Kubernetes, Helm
Bancos de Dados PostgreSQL, Redis
Mensageria Apache Kafka
Observabilidade Prometheus, Grafana, Loki, Jaeger
CI/CD GitHub Actions
Testes JUnit 5, Testcontainers, RestAssured

🗺️ Roadmap

Visão Geral das Fases

Fase Duração Status Tópicos Principais
1. Fundamentos 4-6 semanas 🔜 Java 21, Git, Maven/Gradle
2. Spring Framework 6-8 semanas Core, Boot, Data, Security, Cloud
3. Docker 3-4 semanas Containers, Compose, Otimizações
4. Quarkus 4-5 semanas CDI, Native, Reactive
5. Kubernetes 6-8 semanas K8s, Helm, Observabilidade
6. Integração 4-6 semanas CI/CD, Projeto Final

Legenda: 🔜 Próximo | ⏳ Pendente | 🚧 Em Progresso | ✅ Completo

📂 Estrutura do Projeto

java-stack-mastery/
├── docs/                          # Documentação técnica
│   ├── 01-fundamentos/           # Java moderno, Git, Build tools
│   ├── 02-spring/                # Spring Framework completo
│   ├── 03-docker/                # Containerização
│   ├── 04-quarkus/               # Quarkus framework
│   ├── 05-kubernetes/            # Orquestração
│   ├── 06-integration/           # CI/CD e integração
│   └── comparisons/              # Comparativos técnicos
├── projects/                      # Projetos práticos
│   ├── phase-1-fundamentals/     # Projetos Java básicos
│   ├── phase-2-spring/           # APIs e microservices Spring
│   ├── phase-3-docker/           # Configurações Docker
│   ├── phase-4-quarkus/          # Projetos Quarkus
│   ├── phase-5-kubernetes/       # Manifests e Helm charts
│   └── phase-6-integration/      # Projeto final integrado
├── templates/                     # Templates reutilizáveis
├── scripts/                       # Scripts de automação
└── resources/                     # Recursos de estudo

🚀 Quick Start

Pré-requisitos

Clonar o Repositório

git clone https://github.com/seu-usuario/java-stack-mastery.git
cd java-stack-mastery

Executar Projeto Spring Boot

cd projects/phase-2-spring/spring-boot-api
./mvnw spring-boot:run

Executar Projeto Quarkus

cd projects/phase-4-quarkus/quarkus-api
./mvnw quarkus:dev

📊 Comparativos

Spring Boot vs Quarkus

Métrica Spring Boot Quarkus (JVM) Quarkus (Native)
Tempo de Startup ~3-5s ~1-2s ~0.05s
Uso de Memória ~300-500MB ~150-250MB ~50-100MB
Throughput ~15k req/s ~18k req/s ~20k req/s
First Response ~500ms ~200ms ~50ms
Tamanho da Imagem ~300MB ~250MB ~50MB

Benchmarks baseados em API REST simples com PostgreSQL

Ver análise completa

Quando Usar Cada Tecnologia

Use Spring Boot quando:

  • ✅ Aplicações enterprise complexas
  • ✅ Equipe já familiarizada com Spring
  • ✅ Necessita de ecossistema maduro e extenso
  • ✅ Migração de aplicações legadas
  • ✅ Menos restrições de recursos

Use Quarkus quando:

  • ✅ Microservices cloud-native
  • ✅ Performance e startup críticos
  • ✅ Otimização de custos de infraestrutura
  • ✅ Ambientes serverless
  • ✅ Build nativo necessário

🔬 Projetos Práticos

Fase 2: Spring Framework

Fase 4: Quarkus

Fase 6: Projeto Final

📖 Documentação

Por Tópico

Comparações e Benchmarks

🛠️ Ferramentas e Ambiente

Desenvolvimento Local

# Verificar versões instaladas
java -version
mvn -version
docker --version
kubectl version --client

Ambientes Kubernetes

  • Desenvolvimento: Minikube ou Kind
  • Produção: AKS, EKS, GKE (simulado)

IDEs Recomendadas

  • IntelliJ IDEA Ultimate - Suporte completo para Spring e Quarkus
  • VS Code - Com extensões Java, Spring Boot, Docker

📚 Recursos de Estudo

Documentação Oficial

Livros Recomendados

Cheat Sheets

🤝 Como Contribuir

Este é um repositório de estudo pessoal, mas sugestões são bem-vindas!

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/nova-feature)
  3. Commit suas mudanças usando Conventional Commits
  4. Push para a branch (git push origin feature/nova-feature)
  5. Abra um Pull Request

Padrão de Commits

feat: adiciona nova funcionalidade
fix: corrige bug
docs: atualiza documentação
refactor: refatora código
test: adiciona testes
chore: atualiza dependências
ci: modifica CI/CD

📈 Progresso Atual

Fase 1: Fundamentos (0%)

  • Java 21 Features
  • Git Avançado
  • Maven/Gradle

Fase 2: Spring Framework (0%)

  • Spring Core & Boot
  • Spring Data JPA
  • Spring Security
  • Spring Cloud

Fase 3: Docker (0%)

  • Docker Fundamentals
  • Docker Compose
  • Otimizações

Fase 4: Quarkus (0%)

  • Quarkus Basics
  • Native Build
  • Reactive Programming

Fase 5: Kubernetes (0%)

  • K8s Fundamentals
  • Helm Charts
  • Observabilidade

Fase 6: Integração (0%)

  • CI/CD Pipeline
  • Projeto Final

📊 Estatísticas

  • Total de Fases: 6
  • Duração Estimada: 32-37 semanas
  • Projetos Práticos: 15+
  • Documentos Técnicos: 50+

📝 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

👤 Autor

Seu Nome


Dê uma estrela se este projeto te ajudou!

📌 Última atualização: Outubro 2025

About

My studes of Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published