Projeto prático de Spring Framework - API de gerenciamento de professores e aulas particulares \| TreinaWeb             Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 18 Horas 

 58 Min 

 57 Seg 

   Tempo restante da oferta: 18 58 57 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

    [ Início ](https://www.treinaweb.com.br) [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos) [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end) 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.

  ![](https://d1s1vlotnxklap.cloudfront.net/professores/cleyson-lima.webp)   [ Cleyson Lima ](https://www.treinaweb.com.br/professor/cleyson-lima) Instrutor  

  ![](https://d2knvm16wkt3ia.cloudfront.net/treinaweb/cursos/og/spring-framework-api-gerenciamento-professores-aulas-particulares.png)   Assista à apresentação  Assistir: Apresentação: Spring Framework - API de gerenciamento de professores e aulas particulares  

- 10h52 de vídeos
- 53 aulas
- Certificado de 14 horas
- Intermediário

 **+200 mil alunos** já aceleraram a carreira aqui, com **professores que atuam no mercado**

## Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **18h 58min 57s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

  Visão geral

## 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.

### Pra quem é esse projeto?

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.

   Competências

## O que irá aprender?

- 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.

   Antes de começar

## Pré-requisitos sugeridos

 Não são obrigatórios — apenas sugestões de base para você tirar mais proveito do curso.

 [  ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/java.svg)    **Java - Fundamentos**   16h · Iniciante   ](https://www.treinaweb.com.br/curso/java-fundamentos) [  ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/java.svg)    **Java - Orientação a objetos**   22h · Iniciante   ](https://www.treinaweb.com.br/curso/java-orientacao-a-objetos) [  ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/spring-boot.svg)    **Spring Framework - Fundamentos**   10h · Iniciante   ](https://www.treinaweb.com.br/curso/spring-framework-fundamentos) [  ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/spring-boot.svg)    **Spring Framework - Spring Data JPA**   12h · Intermediário   ](https://www.treinaweb.com.br/curso/spring-framewok-spring-data-jpa) [  ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/spring-boot.svg)    **Spring Framework - Spring Security**   8h · Intermediário   ](https://www.treinaweb.com.br/curso/spring-framework-spring-security) [  ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/spring-boot.svg)    **Spring Framework - Instalação do ambiente de produção e deploy em uma VPS**   4h · Intermediário   ](https://www.treinaweb.com.br/projeto-pratico/spring-framework-instalacao-do-ambiente-de-producao-e-deploy-em-uma-vps) 

   Ementa completa

## Conteúdo programático

 14 módulos, 53 aulas , num total de 10h52 de vídeo .

    01   Introdução   2 aulas  

- Apresentação
- O código fonte do curso está no GitHub

     02   Requisitos do Projeto   3 aulas  

- Entendendo o projeto a ser desenvolvido
- Requisitos funcionais e não funcionais
- Casos de uso

     03   Preparando o projeto   2 aulas  

- Clonando a aplicação base
- Realizando as primeiras configurações e executando o projeto

     04   Busca de professores   4 aulas  

- Criando o modelo Professor
- Implementando a auditoria
- Criando os DTOs e Mappers
- Implementando a rota de busca de professores

     05   Detalhes do professor   2 aulas  

- Implementando a rota de detalhes do professor
- Tratando a exceção de professor não encontrado

     06   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

     07   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

     08   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

     09   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   1 aula  

- Implementando a rota de listagem de alunos

     11   Exclusão de professor   1 aula  

- Implementando a rota de exclusão de professor

     12   Ajustes finais na aplicação   1 aula  

- Configurando o CORS

     13   Deploy em uma VPS na 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

     14   Conclusão   1 aula  

- Conclusão

 [ Download da ementa ](https://www.treinaweb.com.br/projeto-pratico/spring-framework-api-de-gerenciamento-de-professores-e-aulas-particulares/ementa/spring-framework-api-de-gerenciamento-de-professores-e-aulas-particulares.pdf) 

   Depoimentos de alunos

## Utilizada e amada por milhares de desenvolvedores.

  ![](https://d32nikm1p4rl61.cloudfront.net/9dz3xga6-ehv79oda-foto-usuario.png)   Mario  Várzea Grande / MT · Spring Framework - API de gerenciamento de professores e aulas particulares  

 Avaliação: 5 de 5 estrelas.

 “que curso SENSACIONAL o Cleyson foi bem detalhista, gostei muito PATABÉNS.”

   ![](https://d32nikm1p4rl61.cloudfront.net/b20837751be1cddbccdfa9a1fddc7b73.png)   William  Poços de Caldas / MG · C# (C Sharp) Básico  

 Avaliação: 5 de 5 estrelas.

 “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.”

   ![](https://d32nikm1p4rl61.cloudfront.net/7a7c2da2fd73b109ee8bc10de73d12e4.png)   David  Fortaleza / CE · C# (C Sharp) Básico  

 Avaliação: 5 de 5 estrelas.

 “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...”

 [ Veja mais opiniões reais ](https://www.treinaweb.com.br/depoimentos) 

## Comece este projeto ainda hoje.

 10h52 de vídeo, certificado de 14 horas — mais todos os outros cursos e formações da TreinaWeb na mesma assinatura.

 [Quero assinar](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

  Continue aprendendo

## Conteúdos relacionados

- ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/spring-boot.svg)  Intermediário  

     Projeto Prático · 4h

    ###  [ Spring Framework - Instalação do ambiente de produção e deploy em uma VPS ](https://www.treinaweb.com.br/projeto-pratico/spring-framework-instalacao-do-ambiente-de-producao-e-deploy-em-uma-vps "Spring Framework - Instalação do ambiente de produção e deploy em uma VPS") 

    Ver detalhes →
- ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/aspnet-core.svg)  Intermediário  

     Projeto Prático · 8h

    ###  [ ASP.NET Core - Gerenciador web de Consultório Médico usando ASP.NET MVC ](https://www.treinaweb.com.br/projeto-pratico/aspnet-core-gerenciador-web-de-consultorio-medico-usando-aspnet-mvc "ASP.NET Core - Gerenciador web de Consultório Médico usando ASP.NET MVC") 

    Ver detalhes →
- ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/c-sharp.svg)  Iniciante  

     Projeto Prático · 8h

    ###  [ C# - Desenvolvendo uma API com C# e ASP.NET ](https://www.treinaweb.com.br/projeto-pratico/c-sharp-desenvolvendo-uma-api-com-asp-net "C# - Desenvolvendo uma API com C# e ASP.NET") 

    Ver detalhes →
- ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/javascript.svg)  Intermediário  

     Projeto Prático · 8h

    ###  [ JavaScript - Aplicação web de calculadora de churrasco ](https://www.treinaweb.com.br/projeto-pratico/javascript-aplicacao-web-de-calculadora-de-churrasco "JavaScript -  Aplicação web de calculadora de churrasco") 

    Ver detalhes →

   Trilhas completas

## Formações que incluem este conteúdo

- Formação  ![](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/spring-mvc.svg) 

     Back-end

    ###  [ Especialista Spring ](https://www.treinaweb.com.br/formacao/especialista-spring "Especialista Spring") 

    A formação Desenvolvedor Spring Full Stack da TreinaWeb tem como objetivos abordar os aspectos essenciais para o desenvolvimento de aplicações de ponta-a-ponta utilizando-se as tecnologias providas pelo Spring Framework. Entre as tecnologias abordadas nesta formação, estão principalmente o Spring MVC, o Spring Security, o Spring Data e o Spring Boot, além de tecnologias adjacentes como o Bootstrap, o jQuery e o Thymeleaf.

      25 cursos   59h48 de vídeos

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **18h 58min 57s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

    Ainda tem alguma dúvida?

## Antes de começar, veja o que você precisa saber.

 Não encontrou a sua pergunta aqui? Fale com a nossa equipe antes de decidir — é para isso que ela está lá.

 [Falar com a equipe →](https://www.treinaweb.com.br/contato)    Estou começando do zero. A TreinaWeb é para mim? 

Sim. A plataforma possui conteúdos para quem está dando os primeiros passos em programação, incluindo fundamentos e formações organizadas para ajudar você a avançar progressivamente.

Se você ainda não programa, recomendamos começar pelas bases antes de entrar em conteúdos mais avançados de IA aplicada ao desenvolvimento.

   Já sou desenvolvedor. Vou encontrar conteúdo para mim? 

Sim. Além dos conteúdos fundamentais, a TreinaWeb possui formações, cursos intermediários e avançados, frameworks, arquitetura, infraestrutura e uma formação dedicada à aplicação de IA no desenvolvimento.

   A TreinaWeb tem cursos de Inteligência Artificial para desenvolvedores? 

Sim. A Formação IA para Devs reúne conteúdos sobre ferramentas e conceitos utilizados no desenvolvimento assistido por IA, incluindo GitHub Copilot, Cursor, Claude Code, Gemini CLI, MCP, Prompt Engineering, n8n e outros recursos.

   Preciso saber programar para fazer a Formação IA para Devs? 

A Formação IA para Devs é especialmente indicada para quem já possui conhecimentos de programação.

Se você ainda está começando, pode primeiro desenvolver sua base com os cursos e formações de programação disponíveis na própria TreinaWeb e depois avançar para IA.

   Tenho acesso a todos os cursos? 

Sim. Durante o período da assinatura, você tem acesso aos cursos e formações contemplados pelo plano anual da TreinaWeb.

   Por quanto tempo tenho acesso? 

O plano apresentado nesta página oferece 12 meses de acesso à plataforma.

   Existe uma ordem recomendada para estudar? 

Sim. As formações e planos de carreira ajudam você a organizar o aprendizado e entender quais conteúdos fazem mais sentido para cada etapa.

   Posso tirar dúvidas? 

Sim. A assinatura inclui os canais de suporte disponibilizados pela TreinaWeb para que você possa esclarecer dúvidas relacionadas aos conteúdos estudados.

   Os cursos possuem certificado? 

Sim. Os certificados digitais dos cursos concluídos estão incluídos na assinatura, de acordo com as regras de conclusão da plataforma.

   Posso estudar pelo celular? 

Sim. A TreinaWeb possui aplicativos para Android e iOS e oferece recursos de acesso offline pelo aplicativo.

   A TreinaWeb lança novos cursos? 

Sim. Novos conteúdos são adicionados regularmente à plataforma para acompanhar a evolução das tecnologias e ferramentas utilizadas no desenvolvimento.

   Como funciona a garantia? 

Você possui 7 dias de garantia para conhecer a plataforma. Caso decida que a TreinaWeb não atende às suas expectativas dentro desse período, poderá solicitar o reembolso conforme as condições da garantia.

## Comece hoje a programar com IA ao seu lado.

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
