Skip to content

Albertinesilva/java-completo-poo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

🚀 Curso Java COMPLETO - Programação Orientada a Objetos + Projetos

Este repositório contém minha trajetória no Curso de Java Completo, ministrado por Nélio Alves, abordando desde os conceitos básicos de programação até o desenvolvimento de aplicações robustas com Spring Boot e bancos de dados relacionais e NoSQL.


📌 Sobre o Curso e Projetos

O objetivo deste curso foi proporcionar uma formação completa em desenvolvimento de software com Java, passando por lógica de programação, POO (Programação Orientada a Objetos), JDBC, Spring Boot, JavaFX, entre outros conceitos essenciais.

Durante o curso, foram abordados:

  • Lógica de Programação e Algoritmos: Fundamentos essenciais, estrutura sequencial, condicional e repetitiva.
  • POO (Programação Orientada a Objetos): Herança, polimorfismo, encapsulamento, utilização de construtores e sobrecarga de métodos.
  • JDBC (Java Database Connectivity): Conexão com banco de dados, operações CRUD e gerenciamento de transações (commit/rollback).
  • Segurança em SQL: Uso de PreparedStatement para prevenir SQL Injection e implementação de tratamento de exceções para maior segurança.
  • Padrão DAO (Data Access Object): Separação da lógica de persistência da lógica de negócios, melhorando a escalabilidade do código.
  • Programação Funcional: Trabalhando com expressões lambda e streams.
  • Interface Gráfica com JavaFX: Criação de interfaces interativas e ricas em recursos visuais.
  • Desenvolvimento de Web Services com Spring Boot: Arquitetura em camadas, fundamentos da web, REST e integração com bancos de dados relacionais e NoSQL.

Além disso, os conhecimentos adquiridos foram aplicados em projetos práticos, consolidando o aprendizado e preparando para desafios reais no desenvolvimento de software.


📖 Conteúdo do Curso

1️⃣ Lógica de Programação e Algoritmos usando Java (Iniciante)

  • Conceitos de programação
  • Introdução à linguagem Java
  • Estrutura sequencial, condicional e repetitiva

2️⃣ Java e Programação Orientada a Objetos (Parte 1)

  • Introdução à POO
  • Construtores, palavra this, sobrecarga e encapsulamento
  • Arrays, listas e comportamento de memória
  • Enumerações e composição
  • Herança, polimorfismo e tratamento de exceções

☕ Java e Programação Orientada a Objetos (Parte 2) + Programação Funcional (Lambda)

  • Manipulação de arquivos
  • Interfaces e Generics
  • Estruturas de dados (Set, Map)
  • Expressões lambda e programação funcional
  • JDBC e acesso a banco de dados
  • Interface Gráfica com JavaFX

🏆 Projetos Desenvolvidos

♟️ Sistema de Jogo de Xadrez - Albert Silva

  • Uso de composição, herança e coleções
  • Desenvolvimento em camadas
  • Aplicação de padrões de projeto

🖥️ Aplicação Desktop com JavaFX e MySQL via JDBC - Albert Silva

  • Padrão MVC (Model-View-Controller)
  • FXML e SceneBuilder
  • CRUD completo com banco de dados MySQL
  • Tratamento de eventos de UI

🌍 Web Services com Spring Boot e JPA / Hibernate - Albert Silva

  • Arquitetura em camadas
  • REST / Web Services
  • Spring Data JPA e Banco de dados H2
  • CRUD completo e tratamento de exceções

🗄️ Web Services com Spring Boot e NoSQL (MongoDB) - Albert Silva

  • Modelo de domínio com agregados e desnormalização
  • DTO (Data Transfer Object)
  • CRUD completo com Spring Data MongoDB
  • Tratamento de exceções

🎓 Bônus

  • Git e GitHub
  • Álgebra Relacional, SQL e MySQL
  • ORM com JPA / Hibernate
  • Introdução ao NoSQL e MongoDB

🛠️ Tecnologias Utilizadas

  • Java
  • Spring Boot
  • JPA / Hibernate
  • JDBC
  • JavaFX
  • MySQL / H2 / MongoDB
  • Git e GitHub

📁 Estrutura dos Projetos

src/
├── _aulas_pdfs/                     (Materiais e resumos das aulas)
├── _conceitos_basicos/              (Fundamentos da linguagem Java)
├── account/                         (Gerenciamento de contas bancárias)
├── aplication/                      (Ponto principal de inicialização)
├── arquivos/                        (Leitura e gravação de arquivos)
├── comportamento_de_memoria_arrays_listas/ (Memória, arrays e listas)
├── composicao/                      (POO: Composição de objetos)
├── employee/                        (Gestão de dados de funcionários)
├── enums/                           (Uso de enumerações)
├── estudent/                        (Operações com estudantes)
├── expressoes_lambda/               (Expressões lambda e streams)
├── generics/                        (Uso de tipos genéricos)
├── heranca_e_polimorfismo/          (Herança e polimorfismo)
├── interfaces/                      (Implementação de interfaces)
├── manipulando_data/                (Manipulação de datas)
├── matriz/                          (Operações com matrizes)
├── optional/                        (Uso de Optional para evitar NullPointerException)
├── product/                         (Gestão de produtos)
├── rectangle/                       (Modelagem de retângulos)
├── string/                          (Manipulação de strings)
├── teste/                           ((Implementação de códigos para experimentação e validação de conceitos))
└── tratamento_de_excecoes/          (Tratamento de exceções)

🔧 Modificações e Adaptações

Durante o curso, realizei modificações e aprimoramentos nos projetos para melhor organização e funcionalidade:

  • Reestruturação dos Packages: Organização dos arquivos e pacotes para facilitar a manutenção e leitura do código.
  • Ajustes na Interface do Console: Melhorando a experiência do usuário ao visualizar saídas e interagir com os projetos.
  • Novos Recursos: Implementação de funcionalidades extras e melhorias na lógica dos sistemas desenvolvidos.

📌 Conclusão e Aprendizado

Este curso me proporcionou uma base sólida em desenvolvimento de software com Java, incluindo conceitos essenciais de POO, acesso a banco de dados, segurança em SQL, interface gráfica e desenvolvimento web com Spring Boot.

Agora sou capaz de:

  • Desenvolver aplicações orientadas a objetos seguindo boas práticas.
  • Criar e manipular bancos de dados relacionais e NoSQL.
  • Construir interfaces gráficas com JavaFX.
  • Desenvolver APIs REST com Spring Boot e Spring Data.
  • Aplicar design patterns e arquitetura em camadas.
  • Este repositório serve como um portfólio das minhas habilidades e projetos desenvolvidos ao longo da minha formação em Java.

📌 Autor

👨‍💻 Albert Silva

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages