Fale com a gente no WhatsApp Fale com a gente no WhatsApp

Spring Framework - API de gerenciamento de professores e aulas particulares Projeto Prático Spring Framework - API de gerenciamento de professores e aulas particulares

Aprenda do zero como desenvolver uma API completa com Spring.

Curso com 10h52 de vídeos Categoria Desenvolvimento Back-end

Sobre o projeto

Nesse projeto prático você aprenderá como desenvolver uma API para gerenciamento de professores e aulas particulares com Spring. Você aprenderá como implementar diferentes tipos de relacionamento, trabalhar com validações com o Bean Validation, implementar uma autenticação utilizando tokens JWT, utilizar as boas práticas de código e princípios SOLID em todo o projeto e por fim e não menos importante, iremos realizar o deploy da aplicação em uma VPS da DigitalOcean.

Nesse projeto prático você aprenderá como desenvolver uma API para gerenciamento de professores e aulas particulares com Spring. Você aprenderá como implementar diferentes tipos de relacionamento, trabalhar com validações com o Bean Validation, implementar uma autenticação utilizando tokens JWT, utilizar as boas práticas de código e princípios SOLID em todo o projeto e por fim e não menos importante, iremos realizar o deploy da aplicação em uma VPS da DigitalOcean.

O que irá aprender?

Nesse projeto vamos ver na prática os seguintes conceitos:

  • Aplicação do clean code e princípios SOLID;
  • Camadas de Service, Repository e Controller;
  • Uso de DTOs para isolar a camada Model;
  • Realizar migrações no banco de dados com o Flyway;
  • Validação com Bean Validation e criação de validações customizadas;
  • Autenticação com token JWT;
  • Integração com S3 da AWS;
  • Deploy em uma VPS da DigitalOcean.

Para quem?

Esse projeto prático é voltado a desenvolvedores que já conhecem os conceitos do Spring, mas ainda possuem dúvidas de como aplicá-los dentro de um sistema na prática.

Metodologia

  • Videoaulas
  • Texto e imagens
  • Início Imediato

Ambiente do curso

  • Java JDK 17
  • Maven 3.8
  • Spring Boot 3.0
  • Spring Web MVC 6.0
  • Spring Data JPA 3.0
  • Spring Security 6.0
  • Jakarta Validation 3.0
  • Flyway 9.5
  • Lombok 1.18
  • JJWT 0.11
  • AWS Java SDK 1.12
  • MySQL 8.0
  • Visual Studio Code

Sobre o professor

Cleyson Lima

Cleyson Lima

Professor, programador, fã de One Piece e finge saber cozinhar. Cleyson é graduando em Licenciatura em Informática pelo IFPI - Campus Teresina Zona Sul, nos anos de 2019 e 2020 esteve envolvido em vários projetos coordenados pela secretaria municipal de educação da cidade de Teresina, onde o foco era introduzir alunos da rede pública no mundo da programação e robótica. Hoje é instrutor dos cursos de Spring na TreinaWeb, mas diz que seu coração sempre pertencerá ao Python.

Quais os pré-requisitos para esse curso?

Conteúdo programático

  1. Introdução

    Introdução ao curso.

    2 aulas
    • Apresentação
    • O código fonte do curso está no GitHub
  2. Requisitos do Projeto

    Nesta aula iremos ver quais são os requisitos do projeto que iremos desenvolver.

    3 aulas
    • Entendendo o projeto a ser desenvolvido
    • Requisitos funcionais e não funcionais
    • Casos de uso
  3. Preparando o projeto

    Nesta aula iremos clonar o projeto base e preparar o nosso ambiente para o desenvolvimento.

    2 aulas
    • Clonando a aplicação base
    • Realizando as primeiras configurações e executando o projeto
  4. Busca de professores

    Nesta aula iremos implementar o caso de uso AL01, respectivo a funcionalidade de busca de professores.

    4 aulas
    • Criando o modelo Professor
    • Implementando a auditoria
    • Criando os DTOs e Mappers
    • Implementando a rota de busca de professores
  5. Detalhes do professor

    Nesta aula iremos implementar o caso de uso AL02, respectivo a funcionalidade de detalhes do professor.

    2 aulas
    • Implementando a rota de detalhes do professor
    • Tratando a exceção de professor não encontrado
  6. Cadastro de aula

    Nesta aula iremos implementar o caso de uso AL03, respectivo a funcionalidade de cadastro de aula.

    4 aulas
    • Criando o modelo Aluno
    • Criando os DTOs e Mappers
    • Criando a rota de cadastro de aula
    • Tratando a exceção de erro de validação
  7. Cadastro de professor

    Nesta aula iremos implementar o caso de uso PR01, respectivo a funcionalidade de cadastro de professor.

    5 aulas
    • Criando os DTOs e Mappers
    • Implementando a rota de cadastro de professor
    • Criando a validação de e:mail único
    • Criando a validação de confirmação de senha
    • Realizando a configuração inicial do Spring Security e criando o hash da senha do professor cadastrado
  8. Login

    Nesta aula iremos implementar o caso de uso PR02, respectivo a funcionalidade de login.

    12 aulas
    • O que é JWT?
    • Fluxo de autenticação baseado em JWT
    • Criando o service de geração de tokens parte 1
    • Criando o service de geração de tokens parte 2
    • Implementando a rota de login
    • Tratando a exceção de autenticação
    • Implementando o filtro de login via token JWT
    • Implementando a rota de detalhes do professor logado
    • Implementando a rota de refresh
    • Criando o modelo de TokenInvalido
    • Invalidando refresh tokens utilizados
    • Implementando a rota de logout
  9. Atualização de dados pessoais

    Nesta aula iremos implementar o caso de uso PR03, respectivo a funcionalidade de atualização de dados pessoais.

    6 aulas
    • Implementando rota de atualização de professor
    • Atualizando a validação de e:mail único
    • Criando conta na AWS e configurando o bucket no S3
    • Implementando o serviço de upload de imagens no S3
    • Implementando a rota de atualização de foto
    • Validando a foto do professor
  10. Listagem de alunos

    Nesta aula iremos implementar o caso de uso PR04, respectivo a funcionalidade de listagem de alunos.

    1 aula
    • Implementando a rota de listagem de alunos
  11. Exclusão de professor

    Nesta aula iremos implementar o caso de uso PR05, respectivo a funcionalidade de exclusão de professor.

    1 aula
    • Implementando a rota de exclusão de professor
  12. Ajustes finais na aplicação

    Nesta aula faremos os ajustes finais na nossa aplicação.

    1 aula
    • Configurando o CORS
  13. Deploy em uma VPS na DigitalOcean

    Nesta aula faremos o deploy da aplicação em uma VPS da DigitalOcean.

    9 aulas
    • Introdução
    • Criando a conta e a VPS na DigitalOcean
    • Configurando a máquina virtual e instalando o banco de dados MySQL
    • Realizando o build da aplicação e enviando o build para a VPS
    • Configurando um serviço systemd para iniciar a aplicação de forma automática
    • Realizando a instalação do Nginx
    • Principais serviços de compra de domínio
    • Criando conta no Google Domains e criando o primeiro domínio
    • Configurando o DNS e o SSL no Nginx
Download da ementa

Utilizada e amada por milhares! Veja mais opiniões reais

  • Ótimo curso para iniciação a linguagem de C#. Tive uma certa familiaridade pois já conhecia JAVA, sendo assim fez com que muitos conceitos acabaram sendo reforçados e fixados. Em relação aos vídeos as aulas são muito didáticas e dinâmicas, e isso é ótimo.

    Depoimento - Caio
    C# (C Sharp) Básico
    Caio São Gonçalo / RJ
  • Ótimo curso! Realmente bastante esclarecedor e didático. O conteúdo é bem completo, abrangendo diversos assuntos de forma dinâmica e complementar, o que ajuda, e muito, no aprendizado e na visão de aplicabilidade. Além de todo o ambiente e dos recursos disponíveis tornarem o estudo mais amigável e menos cansativo.

    Depoimento - Dimitrius
    C# (C Sharp) Básico
    Dimitrius Três Corações / MG
  • Já fui e paguei caro por um curso de C# que não me instruiu em nada, pois não tinha o conhecimento básico. Aí arrisquei no TreinaWeb, pois sempre tive preconceito com cursos assim... a distancia. Sempre achei que presencial com uma pessoa ali do seu lado era a melhor forma... estava enganado... Ótimo curso, didática excelente. E vamos agora para o Intermediário. Vlw equipe do TreinaWeb

    Depoimento - Leonardo
    C# (C Sharp) Básico
    Leonardo Nilópolis / RJ
  • Bom, já tinha um conhecimento em programação C#, resolvi fazer o básico só por fazer e me surpreendi, vi muitas coisas novas, entendi melhor vários conceitos, enfim, estou a caminho do intermediário e recomento é um ótimo curso.

    Depoimento - Roberto
    C# (C Sharp) Básico
    Roberto Itaquaquecetuba / SP
  • Esse curso para mim foi um desafio que eu recebi na empresa que eu trabalho, me fizerem uma proposta para eu aprender e me certificar em C# .NET em 90 dias. Esse curso foi minha salvação! Agora vamos para o Intermediário e por fim o Avançado!!! Agradeço...

    Depoimento - David
    C# (C Sharp) Básico
    David Fortaleza / CE
  • Antes de começar o curso eu já possuía um conhecimento mediano sobre C# e mesmo no módulo básico vi funcionalidades que ainda não conhecia. Ótimos métodos de aprendizagem, simples e eficaz. Recomendado.

    Depoimento - Carlos
    C# (C Sharp) Básico
    Carlos Poços de Caldas / MG
  • O curso TreinaWeb - C# Básico me serviu para abrir muitas portas e me dar conhecimento além do que eu já vi em sala de aula. Quero dizer também, que gostei muito da didática do curso, pois acho que a aprendizagem só fica 'redondinha' quando vimos a prática, logo após a teoria! Recomendei o curso e o site da TreinaWeb para todos os meus amigos e conhecidos... Estou aguardando ansiosamente para começar o curso C# Intermediário e espero que possa ter uma experiencia tão boa quanto eu tive neste curso!

    Depoimento - Rodrigo
    C# (C Sharp) Básico
    Rodrigo Presidente Prudente / SP
  • Curso Excelente, otimos professores, explicação muito boa...ja estou adquirindo o proximo curso c# avançado. Indico para qualquer um e garanto um dos melhores curso que ja fiz. Parabens a toda equipe.

    Depoimento - Fabrício
    C# (C Sharp) Básico
    Fabrício Cariacica / ES
  • Gostei muito do curso, ele abriu minha mente para o Visual Studio e o C#, deixando bem claro os usos das ferramentas. Assim como me ajudou a revisar de forma bem pratica os principais conceitos de Programação Orientada a Objetos. Recomendo.

    Depoimento - William
    C# (C Sharp) Básico
    William Poços de Caldas / MG

Plano de acesso total!

Tenha um ano de acesso completo a todos os cursos da plataforma, incluindo novos lançamentos, mentoria de carreira e suporte direto com os professores!

Um ano de acesso completo

Contrate agora e tenha acesso ilimitado a todo o nosso portfólio. Isso inclui:

  • 1 ano de acesso a todos os cursos
  • Cursos novos toda semana
  • Suporte direto com professores
  • Aplicativos para Android e iOS
  • Plano de carreira personalizado
  • Certificados digitais inclusos
  • Suporte com SLA de 4 horas úteis
  • Acesso offline através dos apps
Por apenas
12x R$ 75,00 sem juros, no cartão de crédito
Matricule-se agora
Garantia incondicional de satisfação
Garantia incondicional de satisfação

Confiamos tanto nos resultados dos nossos cursos, que criamos uma garantia incondicional de satisfação para você, que são 7 dias de teste!