Udemy

Platform

Português

Language

Web Development

Category

Spring Boot + React JS: Desenvolva Aplicações Web Completas

Curso Full Stack com Spring Boot e React JS, do zero à nuvem.

4.62 (629 reviews)

Spring Boot + React JS: Desenvolva Aplicações Web Completas

Students

20.5 hours

Content

Aug 2021

Last Update
Regular Price


What you will learn

Aprender uma stack completa envolvendo base de dados, aplicação Rest com Java e client web com React Js

Preparar ambientes do zero para desenvolvimento de aplicações web

Combinar diferentes tecnologias para criar arquitetura de aplicativos web

Como utilizar o gerenciador de versionamento GIT e publicar seu código fonte no GITHUB

Desenvolver Testes automatizados utilizando técnicas avançadas

Gerar o build da aplicação e fazer o deploy na nuvem


Description

Se você está procurando uma stack para criar aplicações web completas, ou então está procurando se atualizar no mercado, este curso será perfeito pra você.  Nele irá aprender sobre arquitetura de aplicações web e como integrar tecnologias para obter um site completo ou aplicações corporativas de grande escala.

Nesse curso iremos ensinar o passo a passo desde a preparação do ambiente, banco de dados, configuração inicial do projeto Spring boot, alguns fundamentos, criação da API Rest com testes unitários e de integração cobrindo todas as implementações, até a criação da aplicação front end para consumir a API, utilizando a biblioteca de criação de UI's REACT JS. Você irá sair com novos conhecimentos e aplicando boas práticas de programação.



Content

Introdução

Apresentação do Curso

Estrutura do Curso, sessão de ajuda, recomendações e repositório no GITHUB

O que é Spring Boot

Sobre o Spring Boot

Preparação do ambiente back-end

Download Eclipse IDE

Criando o Projeto Spring Boot

Recomendação Sobre a versão do Projeto

Importando o projeto no Eclipse

A classe principal (porta de entrada) do projeto Spring Boot

Profiles do Spring e Arquivos de Configuração

Casos de Uso do Projeto

Apresentação do Modelo de Negócios - Diagrama de classes

Download da base de dados PostgreSQL

Criando o schema da base de dados

Implementações iniciais do back-end

Iniciando a codificação do Projeto

Adicionando o Módulo Spring Data JPA

Adicionando configurações do banco de dados

Mapeando a Entidade Usuário

Mapeando a Entidade Lançamento

Mapeando as Enumerações na entidade Lancamento

Sobre o Projeto Lombok

Sobre o Projeto Lombok

Instalando o Lombok no Eclipse

Refatorando entidades adicionando as anotações do Lombok

Sobre a especificação JPA

Realizando pequenas refatorações

Criação dos Repositories JPA

Apresentação da Arquitetura do Projeto Backend

Api dos casos de uso de usuários / iniciando os testes automatizados

Criação do Serviço de Usuário

O Contexto de Injeção de Dependências do Spring

Injetando o UsuarioRepository na camada de serviço.

Implementação do método de Validar Email utilizando Query Methods do Spring Data

Primeiro Teste de Integração

Considerações importantes sobre versões do Spring Boot acima da 2.2 e o JUnit 5

Adicionando Banco de dados em Memória para os testes de Integração.

Concluindo os testes de verificar existência de Usuário por email no Repository

Implementação do teste de validar email no Serviço de Usuário

Implementação do método de Salvar Usuário

Implementação do Método de Autenticar Usuário

Melhorando nossos testes de integração com @DataJpaTest

Refatorando o teste de Usuario Repository

Concluindo os testes de integração de Usuários

Considerações sobre os testes na camada de Serviço

Melhorando nossos testes unitários com Mocks

Adicionando os Mocks nos testes de UsuarioService

Concluindo os testes de validar email

Testando Método de Autenticação de Usuário

Implementando os cenários de erro de autenticação

Finalizando os testes de autenticar usuario

Testando o método de Salvar Usuário

Adicionando o recurso Spy nos testes unitários

Finalizando os testes na camada de Serviço para os Usuários

Como implementar o Controller de Usuários

Adicionando o Starter Web do SpringBoot

Criando o Controller Rest de Usuários

Implementação do Post de Usuários

Utilizando o Insominia para testar nossa Api Rest

Implementando o Endpoint de autenticação de Usuários

Utilizando o Insominia para fazer as requisições de autenticar usuários

Api dos Casos de Uso de Lançamentos

Proximos Passos do Projeto

Criando o Serviço de Lancamentos

Implementando o método de salvar Lançamento

Implementação dos métodos de Atualizar, Deletar e Alterar o status do Lancamento

Implementando o método de buscar/filtrar Lançamentos

Implementando o método de validar lançamentos

Download do Gerenciador de Controle de Versionamento GIT

Iniciando nosso repositório e fazendo o primeiro Commit

Publicando nosso código fonte no GITHUB

Sobre o Gerenciado de Controle de Versionamentos Git

Criando o Controller de Lançamentos

Convertendo o DTO de Lancamentos em Entidade JPA

Implementado os endpoints de salvar e atualizar lançamentos

Implementando o endpoint de deletar lançamentos

Implementando o endpoint de filtrar/buscar Lançamentos

Realizando pequenas refatorações nos nossos controllers

Testando as requisições de salvar lançamentos utilizando o insominia

Testando as requisições de atualizar e deletar lancamentos no insominia

Concluindo os testes da api de Lançamentos no Insominia

Adicionando o Spring Boot devtools

Implementando o Endpoint de Alterar o status do Lançamento

Implementando a consulta de saldo do usuário

Realizando as requisições de alterar status do lançamentos e saldo de usuário

Bateria de Testes automatizados para finalização dos testes do back-end

Testes de Integração do Repositório de Lançamentos

Finalizando os testes de Integração do Repositório de Lançamentos

Teste de salvar um lançamento na camada de serviço

Teste de erro de validação ao tentar salvar um lançamento

Testando a atualização de lançamentos na camada de serviço

Testando a deleção de lançamentos na camada de serviço

Testando a busca de lançamentos na camada de serviço

Testando o método de atualizar o status do lançamento

Teste de obter lançamento por id e o desafio do teste de validação

Resolvendo o desafio do teste de validar um lançamento

Implementando o primeiro teste unitário na camada de rest controllers

Obtendo Bad Request no teste de autenticação de usuário

Testes de criar um usuário através da API Rest

Enviando nosso código para o GITHUB

Preparação do ambiente front-end

Iniciando as implementações da Aplicação Front-end

O que é o React JS

Download da Engine NodeJs

Instalando o Yarn e React CLI (create-react-app)

Criando e testando o projeto React

Apresentando o Visual Studio Code e Importando o Projeto

Extra: Atualização do Create-react-app e ajuda com o template

Primeiros contatos com o React

Primeiro componente React

Rodando o nosso primeiro componente

Trabalhando com estado e comportamento nos componentes

Projeto front-end

Estratégia de implementação do front-end

Instalando e testando o Bootswatch/Bootstrap

Criando os componentes Login e Card

Componentizando o formulário de Login

Adicionando estado e comportamento no componente de Login

Centralizando o componente de Login na página

Criando e publicando nosso código no GITHUB

Implementando o componente de Cadastro de Usuários

Utilizando as Rotas para navegar entre as views

Criando o Componente NavBar (barra de menu)

Adicionando as rotas no NavBar

Navegando pelas views através dos componentes

Criado a página Home

Utilizando o Axios para realizar requisições para a API REST

Habilitando o CORS e Conectando o Login com a API REST

Manipulando dados vindos da nossa Api

Sobre o Axios e requisições assíncronas

Mostrando o saldo do usuário na tela home

Adicionando e recuperando o usuário logado na sessão

Separando a lógica de acesso às Api's dos componentes

Utilizando o serviço da API de usuários no componente de Login

Refatorando o componente da view Home

Mostrando mensagens ao usuário

Conectando o cadastro de usuários com a API REST

Validação dos campos do formulário de cadastro de usuários

Expressão Regular utilizada para validar Email

Criando a view de Consulta de Lançamentos

Criando o componente Select Menu (combo box)

Reutilizando o Select menu

Implementando o Datatable de lancamentos

Implementando o serviço da API de lançamentos

Consultando os lançamentos na base de dados e apresentando no datatable

Melhorias na view de consulta Lançamentos

Adicionando e testando os botões de ação

Implementando a deleção do lançamento

Adicionando e testando a biblioteca do Primereact no projeto

Adicionado modal para confirmar a deleção de lançamentos

Criando o formulário de cadastro e atualização de Lançamentos

Adicionando o estado no cadastro de lançamentos e o método handleChange

Salvando o lançamento com o serviço da API de lançamentos

Configurando a navegação dos casos de uso de lançamentos

Passando parâmentros para o formulário através da rota

Implementando o end-point de buscar o lançamento por Id

Carregando os dados do Lançamento no Formulário

Atualizando um lançamento através do formulário

Cadastro e atualização de lançamentos no mesmo formulário

Aplicando validação no formulário de Lançamentos

Eliminando a lógica de validação do componente de Cadastro de Usuário

Caso de uso de alterar status dos lançamentos

Melhorando a aparência dos botões com ícones do primeicons

Melhorias gerais nos formulários

Calculando e apresentando corretamente o saldo na view home

Isolando a view de Login do resto da aplicação e implementação do logout

Aplicando proteção nas rotas

Criando método de deslogar da aplicação

Escondendo os itens de menu quando o usuário não estiver autenticado

Context Api do React Js

Implementando o Provedor de Autenticação

Atualizando os componentes de classe para acessar o contexto de autenticaca

Implementações finais

Publicando o código fonte no Github através do Vscode

Gerando o build e publicando a aplicação na nuvem

Criando o build da aplicação Spring boot

Criando o build da aplicação React

Fazendo deploy da aplicação Spring boot na nuvem com Heroku

Configurando o PostgreSQL do Heroku

Fazendo o deploy da aplicação React no Heroku

Fim?

Aulas complementares

Ajuda, Aulas extras e Atualizações

Ajuda com testes JUNIT 5 e atualização para o Spring Boot 2.2.2

Atualização do create-react-app e ajuda com o template

Ajuda Aluno #01 Erro nos profiles causando problema nos testes


Reviews

M
Mateus9 October 2020

O curso é bem legal, e ajuda bastante a entender os conceitos das ferramentas. Acho apenas que o instrutor deveria ser um pouco mais cuidadoso, explicando um pouco melhor os conceitos e ensinando a criar interfaces um pouco mais bonitas.

I
Israel23 September 2020

O curso vai direto ao ponto, com uma didática muito boa. Gostei bastante. Já tinha feito outros cursos de React, mas esse superou as expectativas.

M
Mário7 September 2020

O curso foi bom mas no final o professor fechou o mesmo meio corrido, faltou mostrar algumas finalizações e não responde aos questionamentos. Uma pena.

V
Vitor12 August 2020

Excelente professor. Durante as aulas o conteúdo é bem corrido e direto ao ponto - sem enrolação. Alguns detalhes acabam passando batido, mas ao assistir as aulas subsequentes, muitas dúvidas são esclarecidas... Para o que o curso se propôs, sem dúvida perfeito. Porém seria de mais valia ao curso se houvesse além da implementação, uma boa explanação quanto a lógica do que se está implementado...

L
Luis8 July 2020

Curso muito bom!! Atende bem as expectativas. O unico ponto que acho importante citar eh que este curso eh mais direcionado para aqueles que ja possuem conhecimento basico de Spring e React, pois o curso eh muito pratico (o que eh bom) e possui pouca explicacao teorica do que acontece por debaixo dos panos. Mais uma vez fica meu agradecimento pelo otimo curso e fico no aguardo da parte de autenticacao JWT que foi mencionado durante o curso.

B
Bruno27 February 2020

O curso é ótimo, valeu a pena! Atendeu minhas expectativas. As explicações são claras, objetivas e fácil entedimento. Conteúdo bem elaborado. Apresenta uma arquitetura completa. Respondeu minhas dúvidas. Parabéns. Recomendo. Recomendo a todos!

E
Eduardo5 February 2020

Muitas coisas eu já sabia a respeito do spring, mas achei ótima a explicação para reforçar conhecimentos

T
Thairam24 January 2020

O curso é muito bom para quem não tem experiência com spring boot e react, professor muito didático e atencioso com as dúvidas. O único ponto que poderia melhorar é que seria bom nos próximos cursos usar o zoom em alguns momentos da aula.

V
Vinicius18 January 2020

Curso bem elaborado e que trás detalhes importantes para o aprendizado de novas tecnologias e modelos.

G
Guilherme14 January 2020

A voz do professor está robotizada, isso atrapalha um pouco o desenrolar do curso.. edit1: sim, eu sei, o que quis dizer é que está com eco de fundo.. me pronunciei mal.. é uma crítica construtiva, procura melhorar isso para os próximos cursos que você gravar, ache uma sala sem muita reverberação, porque o microfone ficou com eco de fundo.

E
Everton13 January 2020

Esse foi o melhor curso que fiz na Udemy, os temas foram muito bem divididos e não tem aquela coisa chata que muito fazem que é abreviar algumas partes porque muitas vezes consideram trivial. Dougllas está de parabéns pelo trabalho, pelo material, abordagem durantes as aulas. Recomendo a todos que virem essa mensagem.

T
Tázio9 January 2020

Aulas num bom ritmo e material relevante. Não sabia nada de React e pouco noção em JavaScript, mas não senti dificuldades em acompanhar. Excelente didática.

F
Fernando26 December 2019

Gostei muito do curso. Como o desenvolvimento foi feito por etapas, foi possível aprender muitos tópicos interessantes durante a implementação do projeto

R
Ramon10 December 2019

Excelente pois ele falou sobre o junit5 e tipo eu nem tava com esperança que ele falasse sobre porque é bem recente.

U
Udinei4 December 2019

Curso muito bom! Recomendo. Professor domina o assunto, mostra uma forma de implementação mais simples e evolui finalizando com uma implementação profissional. A aplicação do curso é simples, mas usa uma arquitetura bem elaborada e de facil compreenção tendo em vista a quantidade de tecnologias que utiliza. Parabéns Professor muito bom o curso!


2437296

Udemy ID

6/30/2019

Course created date

11/1/2019

Course Indexed date
Bot
Course Submitted by