O nosso bootcamp tem duração de até 13 semanas. Preparamos toda uma sequência de estudos e treinos que visam te deixar preparado(a) para construir API's utilizando Java/Kotlin como linguagem e Spring/Micronaut + Hibernate como frameworks principais. Fazendo com que você possa focar no que mais importa, que é entregar valor para o cliente final usando tecnologia como meio.
Para que você se sinta e realmente seja capaz de construir API's, durante o bootcamp, você vai estudar e treinar em cima dos seguinte tópicos:
- Design de código orientado a objetos com a linguagem Java;
- Design de código orientado a objetos com a linguagem Kotlin;
- Testes automatizados de unidade para aumentar a confiabilidade de execução do software;
- JUnit para facilitar a escrita de testes automatizados;
- Mockito para ajudar na simulação de invocação a sistemas externos;
- SQL básico para realizar as operações de leitura e escrita necessárias;
- Spring Boot para facilitar a utilização de tecnologias do ecossistemas Spring;
- Spring MVC para facilitar na criação da camada web da aplicação;
- Spring Validation para facilitar no processo de validação da entrada dos dados;
- Spring Actuator para expor informações sobre a saúde da aplicação;
- Spring Scheduling para criar agendamentos;
- Spring Security para criar mecanismos de autenticação;
- Módulo de integração com o Feign do Spring;
- Hibernate para fazer o mapeamento entre o mundo orientado a objetos e relacional;
- Kafka para ser usado meio de integração assíncrona via mensageria;
- Open Tracing para conseguir seguir o fluxo de uma requisição em um sistema distribuído;
- Docker e Kubernetes para auxiliar no processo de criação de ambientes simulando a produção e deploy;
- Micronaut para construção API's ainda mais preparadas para o mundo Cloud Native.
- Stack de CI/CD da Amazon para que consiga fazer com que seu código seja um bom cliente da operação. Vamos de cultura DevOps.
Primeiro começamos entendendo a estrutura do bootcamp e como ficar melhor preparado(a) para consumir tudo que preparamos. Essa aqui é uma fase curta, porém fundamental. Esta é a fase um do nosso bootcamp.
- Consumir o material sobre como ficar preparado(a) para o bootcamp. Lá você vai entender direitinho como preparamos a jornada para você.
- Consumir o material sobre como ser um(a) melhor estudante. Aqui você vai ter alguns vídeos que vão te ajudar a ser um(a) melhor estudante durante as 13 semanas.
Agora você vai fazer uma imersão de teoria sobre desenvolvimento web utilizando o paradigma de programação orientado a objetos com Java, Spring e Hibernate. Aqui é uma fase com muita teoria e alguns exercícios de fixação. Não se preocupe se sentir a cabeça ficar pesada, é uma sensação normal. Toda essa fase de teoria está centrada em cursos prontos da plataforma Alura. Você deve ter acesso para conseguir fazê-los. Esta é a fase dois do nosso bootcamp.
Sugerimos fortemente que você assista os videos entre 1.5 e 2x de velocidade. Lembre que a ideia é que você tenha contato e que tenha um primeiro conhecimento sobre isso tudo. Depois vai chegar a parte do treino em cima dessas teorias e aí esperamos que você fique ainda mais capaz de utilizar as teorias de maneira mais fluida.
Introdução ao SQL com MySQL: Manipule e consulte dados |
---|
Clique aqui para responder o questionário no ínicio do curso |
Curso - Introdução ao SQL com MySQL: Manipule e consulte dados 1° curso |
Clique aqui para responder o questionário no final do curso |
Clique aqui fazer o exercício de resolução de problema |
Java e JPA: Persista seus objetos com a JPA2 e Hibernate |
---|
Clique aqui para responder o questionário no início do curso |
Curso - Java e JPA: Persista seus objetos com a JPA2 e Hibernate |
Clique aqui para responder o questionário no final do curso |
Clique aqui fazer o exercício de resolução de problema |
Spring Boot API Rest: Segurança da API, Cache e Monitoramento |
---|
Clique aqui para responder o questionário no início do curso |
Curso - Spring Boot API Rest: Segurança da API, Cache e Monitoramento |
Clique aqui para responder o questionário no final do curso |
Clique aqui fazer o exercício de resolução de problema |
Spring Data JPA: Repositórios, Consultas, Projeções e Specifications |
---|
Clique aqui para responder o questionário no início do curso |
Curso - Spring Data JPA: Repositórios, Consultas, Projeções e Specifcations |
Clique aqui para responder o questionário no final do curso |
Clique aqui fazer o exercício de resolução de problema |
Agora que você passou por uma fase intensa de teoria, chegou a hora de treinar muito. Você vai construir dois projetos do zero. Nessa fase é importante que você vá se analisando e prestando muita atenção em relação ao nível de facilidade de cada funcionalidade construída. Tem que ir ficando mais fácil. Se não estiver ficando fácil, fique alerta, talvez você precise de ajuda. Agora você entra na fase três do nosso bootcamp.
O desafio de implementação da Casa do Código foi muito importante para que você treinasse sua habilidade em desenvolver API's web. O próximo desafio exige habilidades bem similares, o que é bom. Lembre que a repetição em cenários variados eleva seu nível. Só que agora, além de ser um desafio mais complexo, também vai exigir de você a criação de testes automatizados.
Para te deixar ainda mais preparado(a), temos alguns conteúdos sobre testes.
Agora, com um pouco mais de teoria sobre como os testes podem ajudar no aumento de confiabilidade de execução do código, mergulhe no desafio de criar uma API que simula parte do Mercado Livre.
Neste ponto da jornada, você deve estar se sentindo mais confiante e mais capaz de construir API's com as tecnologias e práticas até aqui trabalhadas. Vamos para o desafio final. Que é construir uma API que simule o funcionamento do credicard zero, um produto do Itaú. Esta é a fase quatro do nosso bootcamp.
Vamos começar pela teoria que vai ser praticada no primeiro microservice, o de criação de propostas.
Importante lembrar que não é esperado que você acabe essa fase da leitura já conseguindo aplicar tais conceitos facilmente. A ideia é ter o primeiro contato e deixar a semente plantada na sua cabeça para que, no momento da prática, tudo seja mais facilmente acessível.
-
-
Questionário:Clique aqui para responder o questionário no início do curso
-
Material: Healthcheck
-
Questionário: Clique aqui para responder o questionário no final do curso
-
Exercício de resolução: Clique aqui para fazer o exercício de resolução de problema
-
-
-
Questionário:Clique aqui para responder o questionário no início do curso
-
Material: Segurança em ambientes cloud native
-
Questionário: Clique aqui para responder o questionário no final do curso
-
Exercício de resolução: Clique aqui para fazer o exercício de resolução de problema
-
-
-
Questionário:Clique aqui para responder o questionário no início do curso
-
Material: Introdução a OAuth
-
Questionário: Clique aqui para responder o questionário no final do curso
-
-
-
Questionário:Clique aqui para responder o questionário no início do curso
-
Material: Introdução a Keycloak
-
Questionário: Clique aqui para responder o questionário no final do curso
-
-
-
Questionário:Clique aqui para responder o questionário no início do curso
-
Material: Sobre métricas
-
Material: Métricas tipo RED
-
Material: Métricas tipo USE
-
Questionário: Clique aqui para responder o questionário no final do curso
-
-
-
Questionário:Clique aqui para responder o questionário no início do curso
-
Material: Introdução ao Prometheus
-
Questionário: Clique aqui para responder o questionário no final do curso
-
-
-
Questionário:Clique aqui para responder o questionário no início do curso
-
Material: Spring Actuator e métricas
-
Questionário: Clique aqui para responder o questionário no final do curso
-
-
-
Questionário:Clique aqui para responder o questionário no início do curso
-
Material: Introdução a Open Tracing
-
Questionário: Clique aqui para responder o questionário no final do curso
-
Agora que você fez mais imersão teórica, vamos treinar! Neste treino você vai utilizar tudo que você estudou e até um pouco mais!
Com o microservice de propostas implementado, chegou a hora de implementar um novo serviço, o que cuida das transações do cartão de crédito. Como é de praxe, antes de começar, vamos primeiro estudar a teoria necessária.
Introdução a Apache Kafka |
---|
Clique aqui para responder o questionário no início do curso |
Introdução a Apache Kafka |
Clique aqui para responder o questionário no final do curso |
Chegou a hora de programar o serviço de transação. Ele é um serviço pequeno, mas vai te desafiar a utilizar o Kafka integrado com o Spring e te deixar ainda mais preparado(a) para utilizar essa forma de integração.
Nesse momento do nosso bootcamp, você já deve estar se sentindo mais apto(a) a criar API's REST que possam ser deployadas em ambientes Cloud Native. Agora vamos para a fase final, onde vamos nos desafiar a transferir todo esse conhecimento para uma nova stack de tecnologias, a Orange Foundation! Antes de mais nada, deixe a gente te contar um pouco sobre essa nova stack.
A Zup + Itaú decidiram apostar em um novo conjunto de tecnologias que são ainda mais aderentes a este mundo onde tudo executa no cloud. A Orange Foundation vai atuar em diversas vertentes do desenvolvimento, tais como:
- Backend;
- Frontend;
- Pipeline de Continuos Integration(CI) e Continuos Deployment(CD);
- Múltiplas áreas relativas a Data Science;
Aqui no nosso programa, vamos focar nas tecnologias associadas com a vertente de backend. Entre essas tecnologias temos:
- Kotlin;
- Micronaut;
- GRPC;
- Kafka;
- JUnit;
- Pitest;
- Prometheus;
- Jaeger;
- Gradle;
- Redis;
- Amazon EKS;
- AWS Secret Manager;
- Gitlab;
- AWS Code Pipeline;
- AWS Code Build;
- AWS Code Deploy;
Algumas delas, como JUnit, Prometheus e Jaeger já trabalhamos. Vamos continuar fazendo uso delas e estudar e praticar em cima de mais algumas agora:
- Kotlin;
- Micronaut;
- GRPC;
- Gradle;
- AWS EKS;
- AWS Secret Manager;
- Gitlab;
- AWS Code Pipeline;
- AWS Code Build;
- AWS Code Deploy;
Está pronto(a)? Vamos para a fase cinco do nosso programa.
ESTAMOS NESSE MOMENTO CONSTRUINDO O MATERIAL DA FASE 5 PARA QUE VOCÊ POSSA SE DESAFIAR AINDA MAIS, AGUARDE POR ATUALIZAÇÕES AQUI :).
Só que não é porque estamos construindo, que não podemos já ir liberando as partes que estão prontos, Release early, Release often :).
Para começar, precisamos cair de cabeça no Kotlin, que é a linguagem base para a stack de backend da Orange Foundation. A teoria e atividades iniciais para a linguagem podem ser consumidas na Alura.
Uma coisa muito importante aqui: Você já estudou e treinou sobre a linguagem Java, tente fazer transferência de conhecimento. O que mudou foi a linguagem, mas vários dos conceitos permanecem os mesmos.
Kotlin: primeiros passos e Orientação a Objetos |
---|
Clique aqui para responder o questionário no início do curso |
Kotlin: primeiros passos e Orientação a Objetos |
Clique aqui para responder o questionário no final do curso |
Kotlin: herança, polimorfismo e interface |
---|
Clique aqui para responder o questionário no início do curso |
Kotlin: herança, polimorfismo e Interface |
Clique aqui para responder o questionário no final do curso |
Kotlin: recursos da linguagem com pacotes e composição |
---|
Clique aqui para responder o questionário no início do curso |
Kotlin: recursos da linguagem com pacotes e composição |
Clique aqui para responder o questionário no final do curso |
Kotlin: lidando com exceptions e referências nulas |
---|
Clique aqui para responder o questionário no início do curso |
Kotlin: lidando com exceptions e referências nulas |
Clique aqui para responder o questionário no final do curso |
Kotlin: Desenvolva com coleções, arrays e listas |
---|
Clique aqui para responder o questionário no início do curso |
Kotlin:Desenvolva com coleções arrays e listas |
Clique aqui para responder o questionário no final do curso |
Kotlin Collections: Set e Map |
---|
Clique aqui para responder o questionário no início do curso |
Kotlin Collections: Set e Map |
Clique aqui para responder o questionário no final do curso |
Kotlin: recursos do paradigma funcional |
---|
Clique aqui para responder o questionário no início do curso |
Kotlin: recursos do paradigma funcional |
Clique aqui para responder o questionário no final do curso |
Com o Kotlin um pouco mais presente na sua mente, vamos agora consumir toda a teoria relativa ao Micronaut. Do mesmo jeito que era possível transferir conhecimento do Java para o Kotlin, agora você pode transferir conhecimento do mundo Spring para o mundo Micronaut :).
Um detalhe importante sobre a didática neste ponto. Dividimos cada explicação prática em dois vídeos semelhantes. O primeiro vídeo apresenta o assunto em cima de um exemplo já pronto, enquanto que o segundo apresenta o mesmo assunto construindo o exemplo junto. Nossa intenção é facilitar seu entendimento, fornecendo duas explicacões sobre o mesmo assunto em formatos diferentes.
O que é Micronaut ? |
---|
Clique aqui para responder o questionário no início do curso |
O que é Micronaut ? |
Clique aqui para responder o questionário no final do curso |
Setup de um projeto utilizando Micronaut |
---|
Clique aqui para responder o questionário no início do curso |
Setup de um projeto utilizando Micronaut |
Clique aqui para responder o questionário no final do curso |
Configuração do IntelliJ para o Micronaut |
---|
Clique aqui para responder o questionário no início do curso |
Configuração do IntelliJ para o Micronaut |
Clique aqui para responder o questionário no final do curso |
Fluxo completo para salvar um objeto no banco de dados |
---|
Clique aqui para responder o questionário no início do curso |
Fluxo completo para salvar um objeto no banco de dados |
Clique aqui para responder o questionário no final do curso |
O conteúdo que você acabou de consumir foi bem focado no módulo HTTP do Micronaut. Basicamente o que você precisa para construir uma aplicação com Micronaut que vai se comunicar primordialmente via tal protocolo. Agora vamos direcionar nossa atenção para o módulo de GRPC do Micronaut :).
O GRPC é a tentativa de aumentar a performance na comunicação entre os serviços numa arquitetura distribuída, por exemplo com Microsserviços. Nos próximos vídeos você ter acesso a bastante conhecimento sobre essa forma de comunicação e como o Micronaut facilita isso para você.
O que é GRPC e a motivação do seu uso |
---|
Clique aqui para responder o questionário no início do curso |
O que é GRPC e a motivação do seu uso |
Clique aqui para responder o questionário no final do curso |
Agora que você fez mais essa imersão teórica em boa parte do conteúdo da Orange Stack, é hora de treinar! Neste treino você vai utilizar tudo que você estudou até esse momento e um pouco mais:
Construa um sistema distribuído que simule o funcionamento do PIX
Nesse momento você já deve estar sentindo apto a construir microsserviços utilizando as principais tecnologias da Orange Stack como Kotlin, Micronaut, API REST e gRPC.
E o deploy? Como você vai levar sua aplicação da sua máquina para ficar exposta para ser consumida pelo mundo? Vamos agora mergulhar na teoria de deploy utilizando a nuvem da AWS.
- Kubernetes: Pods, Services e ConfigMaps
- Kubernetes: Deployments, Volumes e Escalabilidade
- Codebuild: O que é?
- Codebuild: Buildspec.yaml
- Codebuild: Criando projeto
- Codebuild: Explicando a criação do projeto
- Codedeploy: O que é?
- Codedeploy: App Spec
- Codedeploy: Criando explicação
- Codedeploy: Explicando a criação
- Codedeploy: Custo
- Codepipeline: O que é?
- ECR: O que é?
- ECR: Navegando na interface
- ECR: Explicando e conhecendo a interface
- Criando um Pipeline - Apresentação projeto
- Criando um Pipeline - O código utilizado
- Criando um Pipeline - Explicando o código utilizado
- Criando um Pipeline - Roles
- Criando um Pipeline - Explicação das roles
- Criando um Pipeline - EC2
- Criando um Pipeline - Explicação EC2
- Criando um Pipeline - Codebuild
- Criando um Pipeline - Explicação Codebuild
- Criando um Pipeline - Codedeploy
- Criando um Pipeline - Explicação Codedeploy
- Criando um Pipeline - Codepipeline
- Criando um Pipeline - Explicação Codepipeline
- Apresentando Helm
- Explicação sobre o exemplo já implementado
- Explicação enquanto implementa o exemplo
Você também deve consumir os conteúdos sobre Gitlab, que é uma ferramenta também utilizada dentro da Zup.
- Conhecendo o Gitlab
- Explicação durante criação de projetos no Gitlab
- O que é codecommit
- Explicação de criação de um repositório no codecommit
- Mirroring gitlab x codecommit explicação sobre exemplo construído
- Mirroring gitlab x codecommit explicação sobre exemplo enquanto constrói
Nosso programa está estimado em 13 semanas e abaixo temos o cronograma. Lembre também que temos toda uma equipe pronta para te dar suporte, tirar dúvidas e te direcionar.
- Estimamos que você conclua a fase 1 + fase 2 até a segunda semana. Essa é uma fase muito focada em teoria e atividades de fixação
- Estimamos que você conclua a fase 3 até a quarta semana.
- Estimamos que você conclua a fase 4 até a oitava semana.
- Agora você tem até 5 semanas para fechar a fase cinco !
O nosso programa é intenso e exige muito esforço da sua parte. Esperamos contar com toda sua energia!
Assim como um jogo de video game, aqui você também precisa passar fase por fase. Se uma fase parecer fácil para você, não tem problema, passa por ela mais rápido :).