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.
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.
- Conceitos de programação
- Introdução à linguagem Java
- Estrutura sequencial, condicional e repetitiva
- 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
- 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
♟️ 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
- Git e GitHub
- Álgebra Relacional, SQL e MySQL
- ORM com JPA / Hibernate
- Introdução ao NoSQL e MongoDB
- Java
- Spring Boot
- JPA / Hibernate
- JDBC
- JavaFX
- MySQL / H2 / MongoDB
- Git e GitHub
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)
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.
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.
👨💻 Albert Silva