JDBE - Jornada Desenvolvimento Back-End

Português

O JDBE é um curso voltado para pessoas iniciantes na carreira de programação que necessitam de um direcionamento nos estudos ou para quem ainda não sabe qual campo de atuação seguir, como: Front-End ou Full-Stack.

Trabalhar com Desenvolvimento Back-End vai te proporcionar uma visão de como os bastidores de uma aplicação funciona, desde a modelagem de dados, manipulação dos mesmos via SQL, como criar rotinas de banco de dados utilizando a linguagem Oracle PL/SQL, modelar e criar uma Rest API com Spring Framework utilizando boas práticas de mercado, criar a imagem Docker da sua aplicação, como orquestrar e auto escalar sua aplicação com Kubernetes, como efetuar ingestão de logs com Opensearch e Elastic Stack para monitoramento e observabilidade da aplicação e muito mais!

Mostrar mais
  • Conteúdo
  • Vantagens
  • Detalhes
01
Boas-Vindas!
  • Seja muito bem vinda e muito bem vindo!
02
Alicerce - Montando o Ambiente de Desenvolvimento
  • Instalando Java no Windows
  • Instalando Java no Mac
  • Instalando Java no Ubuntu
  • Banco de Dados: Criando a conta na Oracle Cloud
  • Criando o Oracle ATP (Banco de dados Oracle Always Free)
  • Criando o banco de dados na Oracle Cloud
  • Oracle Wallet breve explicação
  • Instalação do Oracle Express no Windows (alternativa para não criar o Oracle Cloud)
  • Criando o banco de dados
  • Instalação do SQL Developer
  • Instalação do SQL Data Modeler
  • IDE's de desenvolvimento: Instalação do Intellij Community
  • Instalação do Spring Tool Suite
  • Instalação do VSCode
  • Containers: Instalando Docker no Windows
  • Instalando Docker no Mac
  • Instalando Docker no Ubuntu
  • Instalando Docker-compose no Windows
  • Instalando Docker-compose no Mac
  • Instalando Docker-compose no Ubuntu
  • Instalando Kubectl no Windows
  • Instalando Kubectl no Mac
  • Instalando Kubectl no Ubuntu
  • Instalando Minikube no Windows
  • Instalando Minikube no Mac
  • Instalando Minikube no Ubuntu
  • Instalando Git no Windows
  • Instalando Git no Mac
  • Instalando Git no Ubuntu
  • Instalando WSL2 (Windows)
03
Modelagem de Dados
  • Modelagem de Dados Conceitual
  • Características do Diagrama E.R.
  • Entidade
  • Atributos
  • Convenções do Diagrama E.R.
  • Instâncias de Entidades
  • Identificador Único
  • Identificando Entidades
  • Relacionamentos
  • Tipos de Relacionamentos
  • Identificando Relacionamentos
  • Layout do Diagrama E.R.
  • Refinando Atributos
  • Refinando Identificadores Únicos
  • Modelagem de Dados Avançada (Detalhada)
  • Normalização do Modelo de Dados
  • Modelando Dados Hierárquicos
  • Resolvendo Relacionamentos M para M
  • Relacionamentos Recursivos
  • Super tipos e Subtipos
  • Relacionamentos Exclusivos
  • Modelando Dados considerando o tempo
  • Relacionamentos Complexos
  • Projeto do Banco de Dados
  • Fases do Database Design
  • Database Design Inicial
  • Implementação de Relacionamentos Exclusivos (Arcos)
  • Implementação de Supertipos e Subtipos
  • Avaliar necessidade de Desnormalização
  • Geração dos comandos DDL
  • Criação do Usuário Owner dos objetos
  • Execução dos comandos DDL
  • Oportunidades de Carreira
04
Banco de dados
  • O que é um Banco de Dados?
  • O que é um SGBD?
05
Consultando dados com SQL
  • Configurando uma conexão para o usuário SYSdba no SQL Developer utilizando o Oracle Wallet;
  • Criando o Usuário ARGONAUTA
  • Visão Geral do Oracle Database
  • Introdução ao SQL
  • Consultando dados utilizando o comando SQL SELECT
  • Diferença em Projeção, Seleção e Join
  • Expressões aritméticas
  • Precedência de Operadores
  • Definindo um valor nulo
  • Apelidos em colunas
  • Caracteres literais em consulta SQL
  • Caracteres literais em consulta SQL
  • Descrevendo estrutura de tabelas com DESCRIBE
  • Limitando linhas por seleção da cláusula WHERE
  • Operadores de comparação
  • Restringindo e Ordenando Dados
  • Variáveis de substituição com DEFINE & variável
  • Utilizando Funções Single Row (LOWER, UPPER, INITCAP) (CONCAT, SUBSTR, LENGTH, INSTR, LPAD, RPAD, TRIM e REPLACE)
  • Utilizando Funções de Conversão e Expressões Condicionais
  • Agregando dados utilizando Funções de Grupo
  • Criando e Selecionando Grupos
  • Exibindo dados a partir de Múltiplas Tabelas
  • Non equijoins, INNER Joins e OUTER Joins
  • Produto Cartesiano
  • Joins utilizando sintaxe Oracle
  • Utilizando Subconsultas
  • Sub-Consultas Single-Row
  • Sub-Consultas Multiple-Row
  • Utilizando operadores EXISTS e NOT EXISTS
  • Utilizando Subconsulta correlacionada
  • Utilizando Subconsultas Multiple-Column
  • Utilizando Subconsultas na cláusula FROM
  • Operadores de Conjunto (UNION/UNION ALL, INTERSECT e MINUS)
  • Operador SET
  • Comandos DML - Manipulando dados
  • Controlando transações
  • Comandos DDL
  • Criando e Gerenciando Tabelas
  • Alterando a estrutura da tabela
  • Criando e gerenciando Constraints
  • Criando Constraints na criação da Tabela
  • Gerenciando Constraints
  • Criando e Gerenciando Visões
  • Criando e Gerenciando Sequências
  • Criando e Gerenciando Índices
  • Criando Sinônimos
  • Dicionário de Dados
  • Controlando acesso aos usuários
  • Alterando senha de um usuário
  • Manipulando grandes conjuntos de dados
  • Gerando relatórios por agrupamento de dados relacionados
  • Fusos horários
  • Cláusula WITH
  • Consultas hierárquicas
06
Conceitos da Linguagem Java
  • Paradigmas de programação
  • Linguagens de Programação Interpretadas e Compiladas
  • O que é o Java?
  • História do Java
  • Java versus Javascript
  • Java SE, ME e EE
  • Java SE Development Kit
  • Palavras reservadas
  • Convenções de código
  • Comentários
  • [Tipos primitivos] Números inteiros
  • [Tipos primitivos] Números com ponto flutuante
  • [Tipos primitivos] Caracteres
  • [Tipos primitivos] Booleanos
  • Tipos reference
  • Escopo
  • [Operadores unários] Operador de negação
  • [Operadores unários] Operadores incremento e decremento
  • [Operadores unários] Operadores de representação de sinal: + e -
  • [Operadores unários] Operador de inversão ~
  • [Operadores unários] Operador de conversão Cast
  • Operadores Aritméticos
  • Operadores de deslocamento
  • Operadores de Comparação
  • Operador de comparação de tipos instanceof
  • Operadores lógicos
  • Operadores de atribuição
  • Operador ternário
  • [Controles de fluxo] if e else
  • [Controles de fluxo] switch
  • [Controles de fluxo] while
  • [Controles de fluxo] do while
  • [Controles de fluxo] for
  • [Controles de fluxo] break
  • [Controles de fluxo] continue
  • [Arrays] Bidimensionais
  • [Arrays] Multidimensionais
  • [Arrays] Método main
07
Orientação à Objetos com Java
  • Introdução a Classes e Objetos
  • Declaração de classes
  • Convenções para nome de classes
  • Objetos
  • Abstração
  • Coesão
  • [Atributos] Declaração de atributos
  • [Atributos] Convenções para nomes de atributos
  • [Atributos] Acessando atributos a partir de outras classes
  • [Atributos] Inicialização de atributos
  • [Métodos] Declaração de métodos
  • [Métodos] Convenções para nomes de métodos
  • [Métodos] Retorno de métodos
  • [Métodos] Passagem de parâmetros
  • [Métodos] Acessando métodos a partir de outras classes
  • [Métodos] Listas de parâmetros de tamanho variável (varargs)
  • [Métodos] Passagem de parâmetros de tipos primitivos
  • [Métodos] Passagem de parâmetros de tipos reference (Objetos e Arrays)
  • [Encapsulamento Getters e Setters] Método get
  • [Encapsulamento Getters e Setters] Método set
  • [Encapsulamento Getters e Setters] Método is
  • [Encapsulamento Modificadores de acesso] Modificador public
  • [Encapsulamento Modificadores de acesso] Modificador private
  • [Encapsulamento Modificadores de acesso] Quando utilizar um ou outro?
  • [Encapsulamento] Objeto this
  • Encapsulamento de atributos compostos
  • Acoplamento forte
  • Acoplamento fraco
  • Sobrecarga de métodos com tipos ambíguos
  • Sobrecarga de métodos com Varargs
  • [Construtores] Declarando construtores
  • [Construtores] Sobrecarga de construtores
  • [Construtores] Bloco de inicialização de objetos
  • [Construtores] Garbage collector e remoção de objetos: Removendo o objeto da memória/Método finalize
  • Atributos estáticos, quando utilizar e quando não utilizar?
  • [Métodos estáticos] Restrições no uso de métodos estáticos
  • [Associação] Cardinalidade / Multiplicidade
  • [Associação] Navegabilidade
  • [Associação] Restrições
  • [Associação] Associação reflexiva
  • [Associação] Agregação
  • [Associação] Composição
  • [Associação] Dependência
  • [Associação] Classe associativa
  • [Herança] Herança e modificador private
  • [Herança] Modificador protected
  • [Herança] Construtores e Herança: Sequência de inicialização dos objetos
  • [Herança] Sobrescrita de métodos: Sobrescrita do método toString()
  • [Herança] Modificador final: Usando-o em classe
  • [Herança] Modificador final: Usando-o em métodos
  • [Herança] Modificador final: Usando-o em atributos
  • [Enumerações] Introdução ao uso de enumerações
  • [Enumerações] Imprimindo os elementos da enumeração
  • [Enumerações] Adicionando atributos e métodos à enumeração
  • [Classes abstratas e interfaces] Modificador abstract
  • [Classes abstratas e interfaces] Métodos abstratos
  • [Interfaces] Interfaces em Java
  • [Interfaces] Definindo uma interface
  • [Interfaces] Implementando uma interface
  • [Interfaces] Estendendo uma interface
  • [Interfaces] Interface vs Abstract
  • O que é Polimorfismo?
  • [Polimorfismo] Cast de objetos: Cast up (Widening)
  • [Polimorfismo] Cast de objetos: Cast down (Narrowing)
  • [Polimorfismo] Cast de objetos: Operador instanceOf
  • [Polimorfismo] Parâmetros polimórficos
  • [Polimorfismo] Coleções heterogêneas
  • [Polimorfismo] Tipos de retorno covariantes e polimorfismo
  • [Polimorfismo] Acoplamento e polimorfismo
  • [Pacotes] Compilando classes que estão em pacotes
  • [Pacotes] Executando classes que estão em pacotes
  • [Pacotes] Modificador padrão / package
  • [Pacotes] Importando duas classes com o mesmo nome em pacotes diferentes
  • [Pacotes] Trabalhando com classes que estão em pacotes diferentes
  • [Pacotes] Como utilizar importação estática?
  • [Pacotes] Quando devemos utilizá-la?
  • [Tratamento de erros] Exceções
  • [Tratamento de erros] Hierarquia das classes de erro
  • [Tratamento de erros] A classe Error
  • [Tratamento de erros] A classe Exception
  • [Tratamento de erros] RuntimeException
  • [Tratamento de Exceções] A instrução throw
  • [Tratamento de Exceções] A instrução throws
  • [Tratamento de Exceções] A estrutura try/catch
  • [Tratamento de Exceções] A instrução finally
  • [Tratamento de Exceções] Capturando múltiplas exceções
  • [Tratamento de Exceções] Criando sua própria exceção
  • Sobrescrita de métodos e lançamento de exceções
  • [Assertivas] Compilação com assertivas
  • [Assertivas] Execução com assertivas
08
Spring Framework
  • Injeção de dependências
  • Introdução ao ecossistema Spring
  • Introdução ao Spring boot
  • Criando um projeto com o Spring Initializr
  • Introdução ao Maven e o pom.xml no projeto Spring boot
  • Devtools
  • O que é injeção de dependências?
  • Introdução o IoC container do Spring
  • Definindo beans com @Component
  • Injetando dependências (beans Spring)
  • Usando @Configuration e @Bean para definir beans
  • Entendendo os pontos de injeção e a anotação @Autowired
  • Dependência opcional com @Autowired
  • Ambiguidade de beans e injeção de lista de beans
  • Desambiguação de beans com @Primary
  • Desambiguação de beans com @Qualifier
  • Desambiguação de beans com anotação customizada
  • Mudando o comportamento da aplicação com Spring Profiles
  • Configurando projetos Spring Boot com o application.properties
  • Substituindo propriedades via linha de comando e variáveis de ambiente
  • Criando e acessando propriedades customizadas com @Value
  • Acessando propriedades com @ConfigurationProperties
  • Alterando a configuração do projeto dependendo do ambiente (com spring Profiles)
  • Ativando o Spring Profile através de linha de comando e variável de ambiente
  • Introdução ao JPA e Hibernate
  • O que é JPA e Hibernate?
  • Adicionando o JPA e configurando o Data Source
  • Mapeando entidades com JPA
  • Criando as tabelas do banco a partir das entidades
  • Mapeamento do id da entidade para autoincremento
  • Consultando objetos do banco de dados
  • Adicionando objetos no banco de dados
  • Buscando um objeto pelo id no banco de dados
  • Atualizando um objetos no banco de dados
  • Excluindo um objeto no banco de dados
  • Conhecendo o padrão Aggregate do DDD
  • Conhecendo e implementando o padrão Repository
  • Mapeamento do relacionamento @ManyToOne
  • Mapeamento do relacionamento @OneToMany
  • Mapeamento do relacionamento @ManyToMany
  • Mapeamento do relacionamento @OneToOne
  • A anotação @JoinColumn
  • Propriedade nullable de @Column e @JoinColumn
  • Criando consultas com query methods
  • Criando aplicações Rest com Spring
  • O que é API?
  • O que é REST?
  • Constraints do REST
  • Diferença entre REST e RestFul
  • Conhecendo o protocolo Http
  • Usando o protocolo HTTP
  • Instalando e testando o Postman
  • Entendendo o que são recursos Rest
  • Identificando recursos Rest
  • Modelando e requisitando um Collection Resource com Get
  • Representações de recursos e content negotiation
  • Implementando content negotiation para retornar JSON ou XML
  • Consultando Singleton Resource com GET e @PathVariable
  • Customizando as representações XML e JSON com @JsonIgnore, @JsonProperty, @JsonInclude e @JsonRootName
  • Customizando a representação em XML com Wrapper e anotações do Jackson
  • Conhecendo os métodos HTTP
  • Conhecendo os códigos de status HTTP
  • Definindo o status da resposta HTTP com @ResponseStatus
  • Manipulando a resposta HTTP com ResponseEntity
  • Corrigindo o Status HTTP para resource inexistente
  • Status HTTP para collection resource vazia, qual usar?
  • Modelando e implementando a inclusão de recursos com POST
  • Negociando o media type do payload do POST com Content-Type
  • Modelando e implementando a atualização de recursos com PUT
  • Modelando e implementando a exclusão de recursos com Delete
  • Implementando a camada de domain services (e a importância da linguagem ubíqua)
  • Atualização parcial de recursos com PATCH
  • Introdução ao modelo de maturidade de Richardson (RMM)
  • Conhecendo o nível 0 do RMM
  • Conhecendo o nível 1 do RMM
  • Conhecendo o nível 2 do RMM
  • Conhecendo o nível 3 do RMM
  • Introdução à Tratamento de erros
  • Lançando exceções customizadas anotadas com @ResponseStatus
  • Lançando exceções do tipo ResponseStatusException
  • Estendendo ResponseStatusException
  • Simplificando o código com o uso de @ResponseStatus em exceções
  • Hierarquia de exceptions
  • Tratamento de exceções em nível de controlador com @ExceptionHandler
  • Tratando exceções globais com @ExceptionHandler e @ControllerAdvice
  • Criando um exception handler global com ResponseEntityExceptionHandler
  • Customizando o corpo da resposta padrão de ResponseEntityExceptionHandler
09
JPA - Jakarta Persistance API
  • Introdução
  • Iniciando com JPA
  • Mapeamento básico
  • Mapeamento de relacionamentos
  • Conhecendo o EntityManager
  • Mapeamento Avançado
  • Mapeando entidades para geração do DDL
  • Operações em cascata
  • JPQL do básico ao avançado
  • Criteria API
  • Consultas nativas
  • Bean Validation, pool de conexões, Entity Graph e detalhes avançados
  • Concorrência e locking
  • Multitenancy
10
Message Brokers
  • RabbitMQ
  • Apache Kafka.
11
Trabalhando com Containers
  • Docker
  • Kubernetes
12
Cloud - Principais tecnologias AWS
  • IAM
  • EC2
  • EKS
  • ECR
  • API Gateway
  • Cloud Watch
  • Code Pipeline
13
Observabilidade com ELK e Opensearch
  • ELK
  • Opensearch
  • Grafana
14
Design Patterns com Java
  • Gang-of-Four (GoF)
  • [GoF] Strategy
  • [GoF] Builder
  • [GoF] Factory Method
  • [GoF] Abstract Factory
  • [GoF] Proxy
  • [GoF] Observer
  • [GoF] Dependency Injection
  • [GoF] Decorator
  • [GoF] Strategy
  • Solid
15
BÔNUS - Criando rotinas no Oracle com PL/SQL
  • Introdução ao SQL Developer
  • Estrutura do bloco PL/SQL
  • Visão geral do Oracle PL/SQL
  • Bloco Anônimo
  • Declaração de Identificadores - Variáveis e Constantes
  • Definindo Identificadores – Variáveis
  • Definindo Identificadores - Constantes
  • Tipos de Dados no PL/SQL - Data Types
  • Variável Bind
  • Sintaxe e Diretrizes de um Bloco PL/SQL
  • Sintaxe e Diretrizes de um Bloco PL/SQL
  • Utilizando Funções no bloco PL/SQL
  • Blocos Aninhados e Escopo de Identificadores (variáveis e constantes)
  • Padrões de codificação sugeridos
  • Utilizando comandos SQL no PL/SQL
  • Utilizando o comando SELECT no PL/SQL
  • Utilizando o comando INSERT no PL/SQL
  • Utilizando o comando UPDATE no PL/SQL
  • Utilizando o comando DELETE no PL/SQL
  • Controlando Transações de banco de dados no PL/SQL
  • Cursor Implícito
  • Estruturas de Controle
  • Operadores PL/SQL e Regra de precedência
  • Utilizando o comando IF
  • Utilizando o comando CASE
  • LOOP básico
  • FOR LOOP
  • WHILE LOOP
  • Oracle PL/SQL Controlando LOOPs aninhados
  • Tipos Compostos - Variável Tipo PL/SQL Record
  • Variável Tipo PL/SQL Record
  • Utilizando o Atributo %ROWTYPE
  • Tipos Compostos - Collections
  • Collections - Associative Array
  • Associative Array of Records - Bulk Collect
  • Collections - Nested Table
  • Nested Table of Records - Bulk Collect
  • Collections - Varray
  • Varray of Records - Bulk Collect
  • Utilizando métodos para controlar Collections
  • Cursor Explícito
  • Controlando um Cursor Explícito
  • Controlando um Cursor Explícito utilizando CURSOR FOR LOOP
  • Cursor Explícito com Parâmetros
  • Cursor Explícito com SELECT FOR UPDATE
  • Tratamento de Exceções
  • Exceções Definidas pela pessoa Desenvolvedora
  • PRAGMA EXCEPTION_INIT
  • Procedures de Banco de Dados
  • Criando Procedures de Banco de Dados
  • Utilizando parâmetros tipo IN
  • Utilizando parâmetros tipo OUT e IN OUT
  • Métodos de passagem de Parâmetros
  • Recompilando Procedures de Banco de Dados
  • Removendo Procedures de Banco de Dados
  • Funções de Banco de Dados
  • Criando Funções de Banco de Dados
  • Utilizando Funções em comandos SQL
  • Recompilando Funções de Banco de Dados
  • Removendo Funções de Banco de Dados
  • Gerenciando Procedures e Functions
  • Gerenciando Dependências de Objetos
  • Utilizando as Visões DEPTREE e IDEPTREE
  • PL/SQL - Debugando Procedures e Functions
  • Debugando Procedures e Functions
  • Packages de Banco de Dados
  • Criando Packages de Banco de Dados - Conceitos
  • Criando o Package Specification
  • Criando o Package Body
  • Referenciando Componentes de uma Package
  • Procedimento de uma única execução na Seção & Debugger
  • Recompilando uma Package
  • Removendo uma Package
  • Vantagens e Benefícios do uso de Packages
  • Database DML Triggers
  • Database DML Triggers a Nível de Comando
  • Database DML Triggers a Nível de Linha
  • Regras de Mutating Tables
  • Desabilitando e Habilitando Database DML Triggers
  • Consultando Database DML Triggers pelo Dicionário de Dados
  • Removendo uma Database DML Trigger
Saiba mais sobre quem criou o conteúdo
Priscila Resende Nascimento
2 Anos Hotmarter

Perguntas Frequentes

Quem avaliou JDBE - Jornada Desenvolvimento Back-End?

Todas as avaliações mostradas aqui foram feitas por pessoas reais que compraram e deram sua opinião sobre o curso. Quando alguém compra um curso através da Hotmart, a pessoa recebe um convite para avaliar o conteúdo dele. A nota nesta página é o resultado da média das avaliações feitas por estes compradores, que vai de 1 a 5 estrelas.

Como funciona o “Prazo de Garantia”?

O Prazo de Garantia é o período que você tem para pedir o reembolso integral do valor pago pela sua compra, caso o produto não seja satisfatório. Assim que solicitado, seu reembolso é processado automaticamente pela Hotmart em até 5 dias. Para pagamentos com boleto bancário, você precisa preencher uma conta bancária para receber o dinheiro. Passados os 5 dias, o valor poderá ser identificado em sua conta em até 7 dias úteis. Já o estorno da fatura do cartão de crédito varia de acordo com o meio de pagamento e pode ocorrer na fatura atual ou na seguinte.

Como faço pra criar um produto?

Primeiro, você precisa criar seu cadastro grátis, clicando aqui. Lá dentro, você tem acesso a mais de 15 formatos pra transformar o que você sabe em um produto digital. Além disso, vai poder acessar também o Hotmart Academy.

O que é e como funciona o Certificado de Conclusão digital?

Alguns cursos online oferecem um certificado digital de conclusão. Alunos podem emitir esse certificado ao final do curso ou entrando em contato com o Autor ou Autora. Esses certificados podem ser compartilhados em redes sociais como o LinkedIn e inseridos em informações curriculares.

Quais diferenciais os produtos podem ter?

Os produtos na Hotmart têm diferenciais que mudam de acordo com o tipo de produto e a disponibilidade. Por exemplo, produtos do tipo "Cursos online" podem ou não oferecer certificado digital de conclusão. Caso o certificado esteja disponível, alunos podem emiti-lo dentro do curso ou entrando em contato com o(a) Autor(a). Os certificados podem ser compartilhados em redes sociais como o LinkedIn e inseridos em informações curriculares. A garantia também é um diferencial dos nossos produtos e pode variar de 7, 15 ou 30 dias, de acordo com o oferecido pelo Autor(a). Para ver os diferenciais disponíveis neste produto, basta checar a seção Diferenciais.

Como acesso meu produto?

Você receberá o acesso a JDBE - Jornada Desenvolvimento Back-End por email. Pode ser um curso online, um ebook, uma série de videoaulas, um serviço, evento, etc. O conteúdo será acessado ou baixado através de um computador, celular, tablet ou outro dispositivo digital. Você também pode acessar o produto comprado nesta página:

01 - Faça login clicando em Entrar
02 - Acesse o menu lateral, clique em Minha conta
03 - Clique em Minhas compras
Em "Minhas compras" estarão todos os produtos que você já comprou!

Tenho interesse neste curso, como posso comprar?

Para comprar este curso, clique no botão “Comprar”. Lembre-se de que nem todos os cursos estarão sempre disponíveis para compra. É possível que o Autor ou Autora esteja preparando uma nova turma ainda sem inscrições abertas.

Como faço para me afiliar?

Para ser Afiliado(a), recomendamos que leia os guias que disponibilizamos em todos os canais da Hotmart. Além disso, uma boa maneira de se informar um pouco mais é acessando nosso blog. O produto desta página está disponível apenas para compra, para ver os produtos de afiliação, vá até o Mercado de Afiliação.

Posso denunciar um produto que possui informações inadequadas?

Temos um canal exclusivo para receber denúncias em produtos que não estão de acordo com as regras da plataforma Hotmart. Se você vir informações inadequadas, denuncie aqui

Tenho outras dúvidas, quem pode me respondê-las?

Acesse nossa Central de Atendimento, onde explicamos, em detalhes, todas as dúvidas que você possa ter antes, durante ou depois de comprar um produto digital na Hotmart.

O conteúdo deste produto não representa a opinião da Hotmart. Se você vir informações inadequadas, denuncie aqui
Produto indisponível
Cadastre-se e mostre seu interesse em comprar para o(a) autor(a) deste curso!
Nome*
Email*