O que você aprenderá?

Confira algumas coisas que você aprenderá durante o curso.

  • Evoluir a aplicação com a segurança dos testes

  • Criar testes para API Rest utilizando o Jest

  • Criar banco de dados através do knex

  • Diversas estratégias de roteamento do express

  • Gerenciar logs na aplicação

  • Desenvolver uma API Rest utilizando NodeJS

  • Autenticação e geração de Token JWT

  • Trabalhar com migração de tabelas

  • Estratégias para gerenciamento de massa de dados

Benefícios Inclusos no Curso

  • Áudio e Vídeo em Alta Definição

    90 aulas e 15 horas de conteúdo. Didática comprovada. Investimento garantido

  • Certificado de Conclusão

    Ao final você receberá certificado com a carga horária apropriada para conclusão

  • Suporte Dedicado

    Conte com um time de especialistas e tire todas as suas dúvidas relativas ao curso

  • Sem prazo de expiração

    Assista o curso no seu tempo, sem pressa, sem nenhum prazo para expirar.

  • Recursos para download

    Baixe arquivos e artigos para melhor desenvolvimento do curso

  • Acesso Mobile

    Acesse por qualquer dispositivo: Computador, celular e Ipad

Conteúdo do Curso

  • 2

    Ambiente e produtividade com VSCode

    • Instalando o Node.JS

    • Instalando o VSCode

    • Executando o Node

    • Themes

    • Fonts

    • Emmet

    • Atalhos

    • Snippets

    • Bracket Pair Colorized

    • Vscode-icons

    • gitlens

    • TODO Tree

    • Lint

  • 4

    /users

    • Deve listar os usuários

    • Deve inserir usuário com sucesso

    • Devo organizar arquivos

    • Devo criar arquivo de rotas

    • Devo instalar o postgres

    • Devo criar estrutura da tabela de usuários

    • Devo refatorar para usar banco de dados

    • Devo logar consultas

    • Devo separar camada de serviço

    • Não deve inserir usuário sem nome

    • Não deve inserir usuário sem email

    • Não deve inserir usuário sem senha

    • Não deve inserir usuário com email já existente

  • 5

    /accounts

    • Devo criar estrutura da tabela de contas

    • Devo inserir uma conta com sucesso

    • Deve listar todas as contas

    • Deve retornar conta por ID

    • Deve alterar uma conta

    • Deve remover uma conta

    • Não deve inserir uma conta sem nome

    • Devo gerenciar os erros

    • Devo entender os middlewares do express

    • Devo gerenciar os erros de uma forma genérica

  • 6

    /auth

    • Deve armazenar senha criptografada

    • Deve receber token ao logar

    • Não deve autenticar usuário com senha errada

    • Não deve acessar uma rota protegida sem token

    • Deve criar usuário via signup

    • Deve enviar token nos testes

  • 7

    /accounts #2

    • Devo desacoplar o meu roteamento

    • Deve listar apenas as contas do usuário

    • Não deve inserir uma conta com nome duplicado

    • Não deve retornar uma conta de outro usuário

    • Não deve alterar ou remover a conta de outro usuário

  • 8

    /transaction

    • Devo criar a estrutura da tabela de transações

    • Deve listar apenas as transações do usuário

    • Devo criar snippets customizados

    • Deve inserir uma transação com sucesso

    • Deve retornar uma transação por ID

    • Deve alterar uma transação

    • Deve remover uma transação

    • Não deve manipular transação de outro usuário

    • Deve ajustar o sinal das transações

    • Deve validar inserção da transação

    • Devo aprender a reusar código

    • Não deve remover uma conta sem transação

    • Devo analisar desempenho dos testes

  • 9

    /transfers

    • Devo criar estrutura da tabela de transferências

    • Devo configurar a massa externa

    • Deve listar apenas as transferências do usuário

    • Deve inserir uma transferência com sucesso

    • Ao salvar uma transferência válida...

    • Ao tentar salvar uma transferência inválida...

    • Deve retornar uma transferência por ID

    • Ao alterar uma transferência válida...

    • Ao alterar uma transferência inválida...

    • Devo fazer a validação via middleware

    • Ao remover uma transferência

    • Não deve permitir manipular recursos de outros usuários

  • 10

    /balance

    • Devo preparar a massa do saldo

    • Ao calcular o saldo do usuário

    • Deve calcular o saldo

    • Devo resolver problemas

  • 11

    Cobertura

    • Devo me preocupar com cobertura?

    • Devo adicionar métrica de cobertura nos testes

    • Devo aumentar a confiança dos meus commits

  • 12

    Produção

    • Devo criar o ambiente de produção

    • Devo logar os eventos

    • Devo manter o servidor no ar

    • Devo acessar a partir do browser

  • 13

    Encerramento

    • Devo me despedir :(

Descrição

Seja bem vindo(a) ao curso API Rest em NodeJS aplicando testes (TDD) desde o início

Nesse curso vamos, inicialmente, aprender a montar o nosso ambiente de desenvolvimento, configurar o VSCode, e trabalhar com o lint para garantir a padronização dos nossos códigos. Em seguida, apresentarei o básico do Jest para criarmos os nossos testes... a partir daí vamos criar um teste e desenvolver a nossa aplicação até o teste passar. E assim será ao longo do curso, um teste de cada vez, uma funcionalidade de cada vez, evoluindo sempre com segurança, pois configuraremos nossos testes de tal forma que toda a API será testada sempre que você salvar algum arquivo. Caso algo deixe de funcionar, com um simples Ctrl+Z será possível retornar à normalidade de antes.

Durante o curso, iremos criar a API de um gerenciador financeiro onde, no lado dos testes, apresentarei diversos recursos do Jest para fazer assertivas e estruturar nossos testes. Já no lado do desenvolvimento, trabalharemos com várias bibliotecas famosas como o Express para criar o nosso servidor, o Passport e JWT para autenticação, Knex e Postgres para migração e consultas ao banco de dados, além de outras.

Importante ressaltar que os testes não serão a nível unitário, faremos todas as verificações diretamente nos serviços. O que fará o teste mais real, pois o fluxo passará desde a chamada da URL, passando pelo roteamento, regras de negócio e banco de dados. Porém trará dificuldades extras como a necessidade de possuir o ambiente sempre atualizado e a necessidade de gerenciar a massa de dados necessários para os testes, isso também será abordado no curso.

Abraços e nos vemos na próxima aula, até lá!

Para quem é este curso:
  • Desenvolvedores interessados em aplicar TDD no desenvolvimento de uma API Rest
  • Desenvolvedores cansados de ter erros em pontos da aplicação que estavam funcionando anteriormente
  • Testadores interessados em aprender mais sobre desenvolvimento de APIs

Instrutor

Wagner Aquino

Graduado em Ciências da Computação, Mestrado na área de previsão de séries temporais com Redes Neurais, ambas pela Universidade Estadual do Ceará (UECE). Trabalha com Desenvolvimento desde 2005 e tenta testar tudo que encontra pela frente desde então. Atualmente trabalha como Analista de Testes especializado em Automação na Dataprev.

Seja Nosso Assinante

Tenha acesso a este curso e muitos outros por um preço muito mais acessível. Junte-se a muitos outros assinantes e venha fazer parte desta comunidade. Clique no botão abaixo e descubra como!

FAQ

  • Após a compra do curso tenho prazo pra poder assistir?

    Não, o curso pode ser assistido a qualquer tempo sem limite de prazo.

  • O curso oferece certificado?

    Sim, ao final do curso você receberá um certificado baseado na carga horária pra concluir o curso

  • Existe suporte para as minhas dúvidas?

    Sim, temos um time de suporte pronto pra tirar as dúvidas relativas ao conteúdo do curso.

  • Adquirindo o plano de assinatura também terei acesso a este curso?

    Sim

  • Existe a possibilidade de pagar este curso por boleto?

    Sim, basta enviar email para [email protected] e solicitar.