Construindo APIs REST com Node.js
Caio Ribeiro PereiraConteúdo
Hoje em dia, é muito comum criar aplicações client-side para web e mobile que consomem dados de uma API (Application Programming Interface), que são sistemas back-end focados apenas no processamento e envio de dados, de forma centralizada. Isso permite que sejam desenvolvidas múltiplas aplicações clientes com interfaces específicas para usuários mobile, desktop ou web. Desde 2010, o Node.js provou ser uma excelente plataforma escalável na solução de diversos problemas, principalmente para construção de APIs RESTful.
Neste livro, Caio Ribeiro Pereira mostra na prática os motivos por que optar pelo Node.js, que é uma plataforma altamente escalável e de baixo nível. Nele, você vai aprender boas práticas sobre como construir uma API utilizando código JavaScript moderno (+ES6) e frameworks populares como Express, Passport, Apidoc, Mocha e muito mais.
O projeto será integrado com banco de dados relacional através do Sequelize.js e, para finalizar, será construída uma aplicação cliente web em formato SPA (Single Page Application) utilizando apenas o melhor do mais puro Vanilla JavaScript.
Atualização de 10/2021: o livro foi atualizado para a versão 16 do Node.js e todos os módulos estão em suas versões mais recentes.
Sumário
- 1 Introdução ao Node.js
- 1.1 O que é Node.js?
- 1.2 Principais características
- 1.3 Por que devo aprender Node.js?
- 2 Setup do ambiente
- 2.1 Instalação convencional do Node.js
- 2.2 Instalação alternativa via NVM
- 2.3 Test-drive no ambiente
- 3 Gerenciando módulos com NPM
- 3.1 O que é e o que faz o NPM?
- 3.2 Principais comandos do NPM
- 3.3 Entendendo o package.json
- 3.4 Automatizando tarefas com NPM
- 4 Construindo a API
- 4.1 Introdução ao Express
- 4.2 Criando o projeto piloto
- 4.3 Implementando um recurso estático
- 4.4 Organizando o carregamento dos módulos
- 5 Trabalhando com banco de dados relacional
- 5.1 Introdução ao SQLite3 e Sequelize
- 5.2 Configurando o Sequelize
- 5.3 Modelando aplicação com Sequelize
- 6 Implementando CRUD dos recursos da API
- 6.1 Organizando rotas das tarefas
- 6.2 Implementando um simples middleware
- 6.3 Listando tarefas via método GET
- 6.4 Cadastrando tarefas via método POST
- 6.5 Consultando uma tarefa via método GET
- 6.6 Atualizando uma tarefa com método PUT
- 6.7 Excluindo uma tarefa com método DELETE
- 6.8 Refactoring no middleware
- 6.9 Implementando rotas para gestão de usuários
- 6.10 Testando rotas com Postman
- 7 Autenticando usuários na API
- 7.1 Introdução ao Passport e JWT
- 7.2 Instalando Passport e JWT na API
- 7.3 Implementando autenticação JWT
- 7.4 Gerando Tokens para usuários autenticados
- 8 Testando a aplicação – Parte 1
- 8.1 Introdução ao Mocha
- 8.2 Configurando ambiente para testes
- 8.3 Testando endpoint de autenticação da API
- 9 Testando a aplicação – Parte 2
- 9.1 Testando os endpoints das tarefas
- 9.2 Testando os endpoints de usuário
- 10 Documentando uma API
- 10.1 Introdução a ferramenta apiDoc
- 10.2 Documentando a geração de tokens
- 10.3 Documentando recurso de gestão de usuários
- 10.4 Documentando recurso de gestão de tarefas
- 11 Preparando o ambiente de produção
- 11.1 Introdução ao CORS
- 11.2 Habilitando CORS na API
- 11.3 Gerando logs de requisições
- 11.4 Configurando processamento paralelo com módulo cluster
- 11.5 Compactando requisições com GZIP
- 11.6 Configurando SSL para usar HTTPS
- 11.7 Blindando a API com Helmet
- 12 Construindo uma aplicação cliente – Parte 1
- 12.1 Setup do ambiente da aplicação
- 12.2 Criando Templates de Signin e Signup
- 12.3 Implementando os componentes de sign in e sign up
- 13 Construindo uma aplicação cliente – Parte 2
- 13.1 Templates e componentes para CRUD de tarefas
- 13.2 Componentes para tela de usuário logado
- 13.3 Criando componente de menu da aplicação
- 13.4 Tratando os eventos dos componentes das telas
- 14 Bibliografia
Autor
Caio Ribeiro Pereira
Caio Ribeiro Pereira é desenvolvedor desde 2008, já brincou muito com Java, PHP, Ruby e atualmente brinca muito com tudo que envolve JavaScript, React, React Native e Node.js! Bacharel em Sistemas de Informação pela Universidade Católica de Santos, nos tempos livres escreve alguns post no seu blog Underground WebDev (udgwebdev.com), de vez em quando contribui no open-source em projetos como Moment.js, Sequelize.js, VanillaMasker, DevFreeBooks e outros em seu GitHub (github.com/caio-ribeiro-pereira), também é admin do Facebook Groups JavaScript - Brazil e atualmente é founder da WatchCoins (watchcoins.net) uma plataforma para acompanhar o mercado de bitcoin e outras criptomoedas. Para saber mais sobre ele, acesse: crpwebdev.github.io
Dados do produto
- Número de páginas:
- 187
- ISBN:
- 978-85-5519-150-3
- Data publicação:
- 01/2016. Atualizado em 10/2021.