Garanta a sua vaga

Aprenda a desenvolver software de verdade

Saia do básico. Programar não é só escrever código. Aprenda a pensar como um programador e comece a resolver problemas do mundo real!

Aqui você não aprenderá sozinho.

000

Suporte

Tire suas dúvidas com seu instrutor sempre que precisar.

000

Comunidade

Faça networking e evolua junto com outros devs.

000

Certificado

Receba seu certificado digital quando concluir o curso.

Domine as tecnologias com maior demanda de mercado.

000

JavaScript

00000000

Docker

000000

React e React Native

000000

NodeJS

0000

Testing Library

0000

Jest

000

KoaJS

0000

RabbitMQ

Navegue pelos módulos do curso.

São mais de 230 aulas gravadas, somando mais de 71 horas!

Nessas aulas, você aprende tudo que precisa para desenvolver um projeto de ponta a ponta, não apenas código, mas tudo que envolve o desenvolvimento de um projeto de software real.

01. Entendendo o projeto0
01. Introdução ao customer development
02. Propósito
03. Metodologia
04. Levantamento de requesitos
05. Definindo o MVP
06. Design ajustado
02. Configurando ambiente0
01. Configurando o VS Code
02. Instalando uma font monoespaçada
03. Oh My Zsh
04. Spaceship
05. VSCode Terminal
06. Organizarndo o ambiente com Workspace do VSCode
07. VSCode Keyboard shortcuts
08. Configurações Visual Studio Code
09. Syntax highlight terminal
10. Compact Folders
03. Organizando a casa e criando o Boilerplate0
01. Organização de pastas
02. Organização de arquivos
03. Configurando lint e git
04. Git Hooks
05. Usando ESModules com babel e criando build
04. Gestão de tarefas0
01. Gerenciamento de Tarefas
02. Separando as tarefas do projeto
03. Detalhando as tarefas
04. Priorizando as tarefas
05. Show me the code0
01. Criando o server
02. Adicionando roteamento
03. Separando em modulos
04. Variaveis de ambiente
05. Instalando o banco local
06. Configurando o Prisma
07. Modelagem ER
08. Prisma Schema
09. Usando o Prisma Cliente
10. Documentação e testes com o Insomnia
06. Autenticação0
01. Como funciona autenticação
02. Criptografia assimétrica
03. Entendendo o JWT
04. JWT na prática
05. Buscando um usuário pelas credenciais
06. Gerando JWT para o usuário
07. Criptografando a senha do usuário
08. Verificando password com hash
09. Basic Auth
10. Decodificando cabeçalho de autenticação
11. Segurança de senha via https
07. Bug free? Como garantir que tudo funciona0
01. Entedento o teste automatizado
02. TDD e o ciclo
03. Usando Jest
04. Tipos de teste
05. Separando as responsabilidades
06. Estrutura execução de um teste
07. Testando uma excessão
08. Fuja do caminho feliz
09. Uma nova camada
10. Teste de integração
11. Testando o banco de dados
12. Alterando DB url apenas para os testes
12.1. Extra - Corrigindo o bug do teste
13. Miigrations para testes
14. Testando token no login
15. Usando prisma middlewares
16. Middleware no seu devido lugar
17. Usando model como deve ser
08. Cuidando do Codebase0
01. Chaves ssh e repositório remoto
02. Configurações de qualidade no repositório
03. Trabalhando com Pull Requests
04. Gitlens + git stash
05. GitHub Templates
09. Uma interface amigável0
01. CRA
02. Preparando o projeto
03. Tema e componentes estilizados
04. Desvendando a sintaxe extraterreste do styled-components
05. Padronizando componentes estilizados
06. Funções de ajuda para estilização
07. Escalas no tema
08. Configurando path alias
09. CSS Global
10. CSS Reset
11. Criando os primeiros componentes
12. Margin e bottom dinâmicas
13. Flexbox dinâmico
14. Especialização de componentes
15. Separando bem seus componentes com Atomic Design
16. Organizando componentes e usando Barrel Files
17. Extendendo um componente sem perder a tag principal
18. Estruturando o formulário
19. Dando vida ao form
20. Axios vs Fetch
21. Resolvendo o erro de CORS
22. Enviando dados para API
23. Gerenciando um estado de loading
24. Criando um compoente de erro
25. Validando formulários
26. Adicionando fontes customizadas
27. Titulo e links
28. Finalizando a tela de cadastro
29. Criando a tela de login
30. Gerenciando usuário logado
31. Configurando rotas
32. Autenticação de forma global
33. Repositório remoto
10. Ta pronto, só falta testar0
01. Configurando o ambiente de testes
02. Seguindo os princípios
03. Primeiro teste - Verificando a renderização correta
04. Testando login e redirect
05. Caminho infeliz Testando os erros
06. Integração VS Unitário na prática
07. Testando casos de erro específicos de longo
08. Seguindo um padrão
11. O mundo é mobile0
01. Criando o projeto mobile
02. Configurando o tema
03. Componentes basicos e as diferenças do web
04. Fomulários no react native
05. Replicando formulário de login
06. Adicionando logo com SVG
07. Configurando lib de rotas
08. Switch de autenticação
09 Gerenciando autenticação de forma global
10. THSOOT - Área útil do botão de login
11. Reidratacão de estado in-memory
12. Conectando na API
13. Fazendo o setup de testes
14. Replicando testes no mobile
15. Refatorando auth provider
12. Foco em arquitetura e qualidade0
01. SDK - Camada de comunicação com API
02. Estruturando o SDK
03. Melhorando a qualidade do projeto
04. Criando um storage global generico e aprendendo sobre abstrações
05. Lint, format e git hooks no projeto web
06. Criando SDK no projeto web
07. Replicando o storage global no projeto web
08. Ferramentas para documentação de componentes React
09. Configurando o storybook
10. Documentando um componente.
11. Ferramentas para documentação de APIs
12. Documentando a API com Swagger e OpenAPI
13. Conclusão da primeira etapa
13. A funcionalidade principal0
01. Mantenha tudo atualizado com frequência
02. Atualizando comandos de migration
03. Definindo e modelando a funcioanlidade core
04. Criando o schema de transações
05. Planejando os testes automatizados
06. TDD e a trilha de migalhas
07. Middlewares no Koa
08. Autenticação com jwt via cabeçallho do http
09. Adicionando contexto de chamada autenticada
10. Middleware de autenticação
11. Criando uma camada para middlewares
12. Tratando erros de criação de trasações com Prisma
13. Retornando apenas dados do usuário logado
14. Rota para atualização de transações
15. Removendo transações com segurança
16. Tratando problema de ponto flutuante
17. Evitando falha de segurança nos endpoints de usuário
18. Refatorando os testes automatizados
14. Dando vida ao frontend0
01. Conflito de versões e variáveis de ambiente
02. Padronizando requsições com SDK
03. Montando o layout básico
04. Um logo svg genérico e customizável
05. Estilizando a lista de transações estática
06. Separando componente genérico de transação
07. Trabalhando com formatação de moedas e internacionalização
08. Fazendo request de transação com autenticação
09. Cacheando o token de autenticação
10. Adicionando middleware de rehydrate
15. Dando vida ao mobile0
01. Ajustando as variáveis de ambiente
02. Criando a página de cadastro e melhorando o SDK
03. Roteamento interno entre páginas
04. Drawer navigator
05. Customizando o drawer menu
06. Criando ícones da forma correta
07. Como trabalhar com ícones no mobile
08. Criando um mapa de ícones
09. Um componente único com ícones dinâmicos
10. Menu customizado e dinâmico
11. Reidratando o estado do sdk
12. Listando transações no mobile
13. Melhorando a experiência de usuário com loading
14. Iniciando com React Query
15. Criando um header customizado com botão de menu
16. Criando uma nova rota para cadastro de transações
17. Criando novos registro com React Query mutations
18. Adicionando scroll com ScrollView
19. Máscara de moeda no mobile
20. Data, hora e timezone
21. Trabalhando com campos de data no mobile
22. Adicionando vencimento na API
23. Formulário de cadastro na web
24. Formatação de moeda na web
25. Instalando e usando React Query na web
26. Corrigindo o erro de arredondamento de valores
27. Adicionando link para nova rota
16. Rafatorando tudo, ou quase0
01. Usando styled system para pradonização de componentes
02. Alterações para compatibilidade do styled system
03. Uma estrutura saudável - separando os componentes
04. Aplicando a nova estrutura de componentes
05. Uma especificidade no mobile
06. Ajustando a escala de espaçamento
07. Ajustando propriedades de estilo do styled system
08. Propriedades default com styled components
09. Criando um componente de layout
10. Menu, icones e flexbox
11. Botão de logout e seu comportamento
12. Atualizando o React Router para v6
13. Barra de rolagem em uma parte da aplicação
14. Um tapa na Interface
15. Padronizando as cores do tema e aplicando na interface
16. Criando um componente de card genérico
17. Cards de saldo e balanço mensal
18. Botão no header de forma condicional
17. Finalmente nosso dashboard0
01. Estilizando um componente select
02. Fazendo request na API com dados de filtro
03. Filtrando dados na API
04. Corrigindo formatação de moeda e tipo de transação
05. Um bug inesperado - casas decimais no front
06. Normalizando decimal no banco
07. Deixando o front com decimal a prova de balas
08. Retornando o saldo - abordagem REST
09. Arquiteturas de backend para multuiplas requests
10. Implementando rotas de BFF
11. Voltando versões do banco de dados
12. Calculando dados diretamente no banco
13. Agrupando dados
14. Retornando o saldo total
15. Melhorando UX do cadastro de transações
16. Usando a URL como gerenciador de estado
17. Botão de logout no mobile
18. Usando a nova api no dashboard mobile
19. Card genérico para dashboard
20. Formatação de moeda no mobile é diferente
21. Selecionando mês_ano do resumo
22. Saldo total e alguns ajustes de UX
18. Push Notifications0
01. Como criar notificações
02. Envio de notificações nativas
03. [TSHOOT] Problemas no meio do caminho
04. Setup do Firebase
05. Instalando RNFirebase
06. Solicitando permissões de acesso ao dispositivo
07. Recebendo um identificador único (firebase token) para cada dispositivo
08. Implementando persistência de firebase token
09. Como resolver o envio de notificações pelo backend_
10. Como executar operações recorrentes
11. Entendendo Cron e sua sintaxe
12. Hello World Cronjobs
13. Rodando um script JS com cron
14. Estruturando o envio de notificações com Cron
15. Rodando cron com docker
16. Listando as transações do dia
17. Escrevendo o script para envio de notificações
19. Processamento distribuido utilizando RabbitMQ0
01. Entendendo processamento distribuído
02. Filas para processamento distribuído
03. Conhecendo o RabbitMQ
04. Instalando o RabbitMQ
05. Publicando e lendo mensagens
06. Refatorando o código extraído do exemplo
07. Ack, Nack e Unack
08. Um desafio.
20. Disponibilizando nossa aplicação para uso0
01. Serviços de cloud
02. Conhecendo os serviços principais da AWS
03. Custos e regiões do EC2 na AWS
04. Criando uma instância EC2
05. Acessando uma instancia EC2 com a chave
06. Cadastrando chaves SSH para acesso
07. Preparando o servidor para receber a API
08. Mandando o código para o servidor
09. Rodando a API no servidor com docker compose
10. Integração contínua ao resgate (CI_CD)
11. Criando a primeira pipeline de CI_CD
12. Webhooks - o que são, como funcionam, onde vivem
13. Criando actions e executando o pipeline manualmente
14. Conectando no server via SSH com Buddy
15. Adicionando as actions necessárias para o deploy
16. Criando .env dinamicamente no Buddy
17. Deploy de front-end no S3
18. Conhecendo a loja de apps da Apple (App Store)
19. Conehcendo a loja de apps da Google (Google Play)
Foto do professor Bruno Bertolini
00Conheça seu instrutor

Bruno Bertolini

Engenheiro de Softare Sênior

Desenvolvedor web desde 2006. Já atuou como CTO, líder técnico front-end e líder técnico mobile em várias empresas, onde entrevistou, contratou, treinou e liderou dezenas de desenvolvedores. Atualmente é Coordenador de Engenharia de Software na Juntos Somos Mais.

00

+17 anos de experiência

000

Mentor e professor

000000

Líder técnico

0

Fundador da Codar.me

0000000000000000000000000000000

Você está a um clique de mudar a sua vida com a programação!

Pagamento via Cartão de crédito, Boleto à vista, Pix, Parcelamento no boleto (Parcelex - sujeito à análise)

Inscrições abertas!
Em até 12x de
R$ 79,54
ou R$ 797,00 à vista
  • 05 anos de acesso
  • 07 dias de garantia
  • 0Projetos originais do curso
  • 0Foco em preparar para o mercado
Inscreva-se agora!

Dúvidas frequentes.

Ainda com dúvidas? Chama no Whatsapp!

0Chamar no Whatsapp
Esse curso serve para iniciantes em programação?0
Não. Desenvolvendo Software de Verdade é um curso focado em quem já programa pelo menos há dois anos, e quer evoluir em conhecimento e entendimento de todo o fluxo de desenvolvimentod e software.
Qual o diferencial deste curso com relação aos demais do mercado?0
Nesse curso, você não aprende apenas a escrever código. Desenvolvendo Software de Verdade foi planejado para te mostrar você pensa, planeja e desenvolve um projeto real, desde a fase da ideia, passando pelo levantamento de requisitos, planejamento, desenvolvimento e deploy. Esse curso é muito mais sobre como pensar, do que propriamente como escrever um software.
Eu terei acesso à canais para tirar dúvidas?0
Sim! Você terá acesso a um canal exclusivo no Discord (para dúvidas técnicas) onde o Bruno Bertolini está sempre lá para te ajudar, além do whatsapp (para dúvidas gerais).
Quantas horas o curso tem no total?0
São mais de 70 horas de aulas gravadas, divididas em mais de 200 videos.
Quanto tempo eu vou levar pra finalizar o curso?0
Acreditamos que em média seja necessário 6 meses para conclusão de todo curso. Claro que esse tempo pode variar de acordo com a dedicação de cada aluno.
Qual resultado terei ao final do curso?0
Ao finalizar o curso, nossa ideia é que você possa tomar melhores decisões técnicas, saiba decidir entre qualidade e entrega, e princinpalmente, que consiga avaliar questões de negócio e não apenas código, para cada decisão que você precisará tomar no seu dia a dia.
Quanto tempo terei acesso ao curso?0
Nós garantimos seu acesso aos materiais gravados por 5 anos. Mas, nós não queremos que você vire um colecionador de cursos, e por isso, recomendamos que faça todo o curso em um ano ou menos para aproveitar as oportunidades atuais do mercado.
O curso tem algum certificado?0
Sim, ao finalizar todas as aulas você terá acesso a um certificado digital de conclusão liberado através da própria plataforma da Hotmart.
Quais as formas de pagamento?0
Cartão de crédito, PIX, boleto à vista, HotmartPay, PayPal e também temos a opção de boleto parcelado (para essa opção você passará por uma análise de crédito na hora). Se você optar por essa última opção precisa entrar em contato com a gente para te enviarmos um link a parte, pois esse parcelamento é feito por um outro sistema.
Tenho garantia se não gostar do curso?0
Com certeza! Você tem 7 dias de garantia incondicional, caso você entre e veja que o curso não é para você, basta solicitar o reembolso na plataforma da Hotmart, sem letras miúdas.