Construindo APIs testáveis com Node.js

Construindo APIs testáveis com Node.js

Waldemar Neto
Buy on Leanpub

Table of Contents

Construindo APIs testáveis com Node.js

  • Introdução
  • Sobre o autor
  • Agradecimentos
  • Introdução ao Node.js
    • O Google V8
    • Entendendo o Node.js single thread
    • I/O assíncrono não bloqueante
    • Event Loop
    • Call Stack
    • Multithreading
    • Task Queue
    • Micro e Macro Tasks
  • Configuração do ambiente de desenvolvimento
    • O que é um transpiler
    • Gerenciamento de projeto e dependências
  • Iniciando o projeto
    • Configuração inicial
    • Configurando suporte ao Ecmascript 6
    • Configurando o servidor web
    • Entendendo o Middleware pattern
    • Middlewares no Express
  • Desenvolvimento guiado por testes
    • TDD - Test Driven Development
    • Os ciclos do TDD
    • A pirâmide de testes
    • Os tipos de testes
    • Test Doubles
    • O ambiente de testes em javascript
  • Configurando testes de integração
    • Instalando Mocha, Chai e Supertest
    • Separando execução de configuração
    • Configurando os testes
    • Criando o primeiro caso de teste
    • Executando os testes
    • Fazendo os testes passarem
  • Estrutura de diretórios e arquivos
    • O diretório raiz
    • O que fica no diretório raiz?
    • Dentro do diretório source
    • Responsabilidades diferentes dentro de um mesmo source
    • Server e Client no mesmo repositório
    • Separação por funcionalidade
    • Conversão de nomes
  • Rotas com o express router
    • Separando as rotas
    • Rotas por recurso
    • Router paths
    • Executando os testes
  • Controllers
    • Configurando os testes de unidade
    • Testando o controller unitariamente
    • Mocks, Stubs e Spies com Sinon.js
    • Integrando controllers e rotas
  • Configurando o MongoDB como banco de dados
    • Introdução ao MongoDB
    • Configurando o banco de dados com Mongoose
    • Integrando o Mongoose com a aplicação
    • Alterando a inicilização
  • O padrão MVC
    • Voltando ao tempo do Smalltalk
    • MVC no javascript
    • Models
    • Views
    • Controllers
    • As vantagens de utilizar MVC
    • MVC em API
  • Models
    • Criando o model com Mongoose
    • Singleton Design Pattern
    • Integrando models e controllers
    • Atualizando o controller para utilizar o model
    • Testando casos de erro
  • O passo Refactor do TDD
    • Integração entre rota, controller e model
  • Behaviour Driven Development - BDD
    • Como o BDD funciona
    • O outside-in
    • BDD com Mocha e Chai
  • Operações de CRUD
    • Busca por id
    • Criando um recurso
    • Atualizando um recurso
    • Deletando um recurso
  • Configuração por ambiente
    • Alterando a arquitetura
    • Configurações por ambiente
    • Utilizando o módulo node-config
  • Usuários e autenticação
    • Encriptando senhas com Bcrypt
    • Middlewares no Mongoose
  • Autenticação e controle de acesso com Access Control List - ACL
    • Express ACL
    • Autenticação com JSON Web Token
    • Criando Middlewares
  • Estilo de código e formatação
    • Eslint
    • Prettier
    • Configuração
  • Final
Construindo APIs testáveis com Node.js/overview

Construindo APIs testáveis com Node.js

course_overview

Aprenda a desenvolver APIs com Node.js seguindo as melhores práticas do desenvolvimento de software e qualidade utilizando TDD.

count_chapters
begin_reading
download
p_implied_book_part_name

Construindo APIs testáveis com Node.js22 chapters

Begin ›
  1. Introdução

  2. Sobre o autor

  3. Agradecimentos

  4. Introdução ao Node.js

  5. Configuração do ambiente de desenvolvimento

  6. Iniciando o projeto

  7. Desenvolvimento guiado por testes

  8. Configurando testes de integração

  9. Estrutura de diretórios e arquivos

  10. Rotas com o express router

  11. Controllers

  12. Configurando o MongoDB como banco de dados

  13. O padrão MVC

  14. Models

  15. O passo Refactor do TDD

  16. Behaviour Driven Development - BDD

  17. Operações de CRUD

  18. Configuração por ambiente

  19. Usuários e autenticação

  20. Autenticação e controle de acesso com Access Control List - ACL

  21. Estilo de código e formatação

  22. Final