Skip to content

Albertinesilva/jornada-java-springboot-bootcamp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

🚀 Backend Development Journey — Java | Spring Boot

Continuous learning focused on scalable systems, clean architecture, and production-ready backend solutions.

Este repositório documenta minha jornada prática e contínua de estudos em desenvolvimento backend com Java e Spring Boot, utilizando como referência formações da DevSuperior e conteúdos avançados do ecossistema Java.

A proposta deste projeto é consolidar fundamentos técnicos, aplicar boas práticas de mercado e evoluir progressivamente por meio de capítulos organizados em branches, partindo de operações CRUD até tópicos como segurança, testes, Docker, deploy e arquitetura escalável.


🧠 Objetivo

Transformar estudo estruturado em experiência prática, consolidando competências relevantes para o desenvolvimento backend moderno e alinhado às exigências do mercado.

Principais metas:

  • Fortalecer fundamentos sólidos em Java e Spring Boot
  • Aplicar boas práticas de arquitetura e design de software
  • Simular cenários reais de mercado
  • Desenvolver projetos completos e evolutivos
  • Construir um portfólio técnico consistente e profissional
  • Documentar aprendizados com clareza e organização

🎯 Competências Demonstradas

Ao longo desta jornada, os projetos exploram competências relevantes para o mercado:

  • Desenvolvimento de APIs RESTful
  • Arquitetura em camadas
  • Clean Code e organização de projeto
  • Spring Boot e ecossistema Spring
  • Persistência com JPA / Hibernate
  • Segurança com Spring Security, OAuth2 e JWT
  • Testes unitários e integração
  • Versionamento de banco com Flyway
  • Containerização com Docker
  • Deploy e CI/CD
  • Boas práticas corporativas de backend

🛠️ Stack Tecnológica

A stack utilizada nesta jornada foi selecionada com foco em desenvolvimento backend moderno, escalável e alinhado às práticas adotadas no mercado. O ecossistema contempla desde construção de APIs REST até testes, persistência, observabilidade e preparação para deploy.

Categoria Tecnologias Finalidade
☕ Linguagem Java 17+ Base principal do desenvolvimento, utilizando recursos modernos da linguagem e LTS amplamente adotado no mercado
🌱 Framework Principal Spring Boot Criação rápida e robusta de aplicações backend com configuração simplificada e produtividade elevada
🌐 APIs REST Spring Web Construção de endpoints RESTful, controllers, serialização JSON e comunicação HTTP
🗄️ Persistência Spring Data JPA Abstração para acesso a dados com repositories e integração com banco relacional
🧩 ORM Hibernate Mapeamento objeto-relacional (Entity ↔ Tabelas), gerenciamento de contexto e queries
🔐 Segurança Spring Security Controle de autenticação, autorização e proteção de rotas
🎫 Auth Tokens OAuth2 / JWT Implementação de login seguro e controle de acesso baseado em tokens
🐘 Banco Principal PostgreSQL Banco relacional robusto utilizado em ambiente de desenvolvimento e cenários reais
⚡ Banco de Testes H2 Database Banco em memória para testes rápidos, isolados e reproduzíveis
🔄 Migrations Flyway Versionamento e controle evolutivo do schema do banco de dados
🧪 Testes Unitários JUnit 5 Escrita de testes automatizados para regras de negócio e componentes isolados
🎭 Mocks Mockito Simulação de dependências para testes unitários desacoplados
🔬 Testes Spring Spring Boot Test Testes integrados com contexto Spring
🌍 Testes de API MockMvc / Postman Validação de endpoints REST, contratos HTTP e fluxo da aplicação
📦 Build Tool Maven Gerenciamento de dependências, empacotamento e ciclo de build
🐳 Containerização Docker Padronização de ambiente e preparação para deploy
🚀 Entrega Contínua CI/CD (conceitos) Automação de build, testes e deploy
📄 Documentação Swagger / OpenAPI Documentação interativa e explorável da API
📊 Logging SLF4J / Logback Logs estruturados para rastreabilidade e observabilidade
💻 IDE Principal IntelliJ IDEA Ambiente principal de desenvolvimento Java
📝 Editor Auxiliar VS Code Apoio para documentação, frontend e edição rápida
🧰 Banco / Queries pgAdmin Administração e inspeção de banco PostgreSQL
🌍 Versionamento Git / GitHub Controle de versão, branches e portfólio técnico

⚙️ Práticas Aplicadas

Durante os capítulos, são utilizadas práticas comuns em ambientes profissionais:

  • 🔹 Configuração por perfis (dev, test, prod)
  • 🔹 Banco em memória para testes rápidos
  • 🔹 Integração com PostgreSQL
  • 🔹 Migrations com Flyway
  • 🔹 Logging estruturado com Logback
  • 🔹 Externalização via variáveis de ambiente
  • 🔹 Documentação de API com Swagger / OpenAPI
  • 🔹 Tratamento global de exceções
  • 🔹 Padronização de respostas REST
  • 🔹 Organização modular do projeto

📚 Roadmap de Estudos

Cada capítulo está isolado em uma branch específica, representando a evolução incremental do projeto.

Capítulo Tema Descrição Acesso
01 CRUD Operações básicas e estrutura inicial da API Acessar
02 Testes Testes automatizados (unitários e integração) Acessar
03 Segurança Validação, autenticação e autorização Acessar
04 Domínio Modelagem de domínio e ORM Acessar
05 Consultas Queries complexas e performance Acessar
06 Docker & Deploy Containerização, deploy e CI/CD Acessar

📦 Projetos Desenvolvidos

Projeto Descrição Status
DSCatalog API de catálogo de produtos ✅ Concluído
DSLearn Plataforma educacional 🔄 Em evolução
MovieFlix Catálogo de filmes 🔄 Em evolução
EventCity Sistema de eventos 🔄 Em evolução
DSSales Dashboard analítico 🔄 Em evolução

🏗️ Filosofia de Desenvolvimento

Mais importante do que apenas gerar código rapidamente é compreender profundamente o que está sendo construído.

Por isso, este repositório prioriza:

  • Estrutura sólida
  • Separação de responsabilidades
  • Código limpo
  • Evolução sustentável
  • Escalabilidade
  • Manutenibilidade
  • Fundamentos consistentes

Ferramentas aceleram produtividade. Conhecimento sólido gera valor real.


📌 Observações

  • A branch main funciona como hub central de navegação.
  • Cada branch representa uma etapa real da evolução técnica.
  • O conteúdo é atualizado continuamente.
  • Todo material foi organizado pensando em clareza, progressão e profissionalismo.

📚 Referências Técnicas Oficiais

🔹 Java Documentation

🔹 Spring Boot

🔹 Spring Data JPA

🔹 Spring Security

🔹 Spring Framework

🔹 Configuração e Properties

🔹 Maven

🔹 JPA / Hibernate

🔹 Testes

🔹 Docker


👨‍💻 Autor

Albert Silva de Jesus
Backend Developer • Java • Spring Boot • REST APIs


📎 Contato

LinkedIn Gmail

About

💻 Java & Spring Boot backend projects with REST APIs, security, testing and clean architecture.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages