Sobre o Curso

Crie uma API com NodeJS, Restify, Mongoose, MongoDB e use o Gitlab para Automatizar o Deploy em Ambiente na Digital Ocean

--

Neste curso vamos criar uma API Restful em NodeJS. Para isso, vamos usar uma biblioteca bem poderosa para criação de APIs que se chama Restify.

A partir daí, a gente vai crescer essa aplicação com MongoDB e Mongoose, vamos aprender a validar os dados, fazer tratamento de erros, deixar a nossa API navegável e também adicionar segurança. Claro que não poderiam faltar os fundamentos, então também vou falar do protocolo HTTP e sobre os padrões de uma API Restful.
Vamos testar a API utilizando o Jest, uma biblioteca de testes do facebook.​

Vou mostrar todo o passo-a-passo para se criar um ambiente de produção na Digital Ocean com domínio registrado e certificado SSL gratuito com Let's Encrypt. Só pra deixar o cenário mais interessante, vamos ver como podemos automatizar o deploy da aplicação sempre que for feita uma mudança no código.

E tudo isso vamos fazer com Typescript. Uma linguagem que extende o Javascript com tipos estáticos e que permite a gente detectar problemas mais rapidamente no desenvolvimento.

-- Requisitos --
- Importante conhecer Javascript (ECMAScript 2015) - Classes, Arrow Functions e Módulos
- Conhecer Promises
- Desejável ter noções de Typescript

Aguardo você no curso.

Sobre o Autor

Trabalha com desenvolvimento de software desde 2002, é formado em Informática pela Unifor, palestrou em diversos eventos, incluindo JustJava, e publicou dois artigos na Mundo Java (Mundo J). Tem 4 certificações na plataforma Java EE, programa em Java, Objective-C, Swift e Javascript.

Nas horas vagas, alterna entre videogames, filmes e fotografia.

Conteúdo Programático

Capítulo 1. Informações do Curso

Conteúdo dos Capítulos     Visualizar Logado 01:10

Capítulo 2. Introdução ao Node.JS

O que é o Node.JS 02:22

Instalação do Node.JS no Windows 02:04

Instalação do Node.JS no Linux/Mac OS 05:11

Modo REPL - Repeat, Evaluate, Print Loop 02:53

Primeiro Script 04:42

Os Objetos Global e Process 10:19

Usando Módulos Built-In 08:13

Usando Módulos Personalizados 13:29

NPM: Node Package Manager 16:22

Convertendo os Exemplos para Typescript 20:12

Depuração em uma Aplicação Node.JS 11:22

Capítulo 3. Começando com a API REST - Node & Restify

Primeira API: Instalando as Dependências 08:13

Primeiro Exemplo com Restify     Visualizar Logado 07:59

Os Objetos Request, Response e Next 14:59

O Protocolo HTTP 05:25

O que é REST 04:34

Criando a classe do Servidor 12:41

Primeiro Recurso REST - (GET) 12:19

Obtendo um Único Recurso - (GET) 07:07

Capítulo 4. Introdução ao MongoDB

Instalação do MongoDB (e iniciando o serviço) 05:24

Criando e Consultando Documentos no MongoShell 06:56

ObjectID e Consultas com Filtros 04:49

Alterando Documentos no Mongo Shell 05:12

Manipulando Documentos com o Robo 3T 03:25

Capítulo 5. Continuando a API - Restify & Mongoose

Conectando a API ao MongoDB 09:23

Mapeando o Schema de um Documento com Mongoose 13:22

Criando um Documento via POST 15:06

Substituindo um Documento via PUT 09:41

Alterando um Documento via PATCH 13:14

Excluindo um Documento via DELETE 04:41

Aumentando o Reuso no Router 10:20

Capítulo 6. Validação, Eventos e Tratamento de Erros - Restify & Mongoose

Tratamento de Erros com Restify 14:22

Validadores Padrões - Mongoose 11:00

Validação Personalizada com Mongoose 05:27

Modificações com Middleware (Pre) 15:36

Validações e Middleware em Update (Mongoose) 09:17

Capítulo 7. Extendendo a API para Outros Recursos

Extendendo o Router Para Outros Recursos 19:54

Recurso de Restaurantes - Schema e Subdocumento (Mongoose) 08:16

Router de Restaurantes - Restify 16:31

Recurso de Reviews - Schema e Referência de Documentos 08:10

Router de Reviews - Restify 19:19

Capítulo 8. Versionamento e Hypermedia

Controlando Diferentes Versões na API - Restify 08:09

Métodos Personalizados no Model - Mongoose 08:38

Hypermedia em REST 03:19

Adicionando Links na API 15:17

Paginação - Skip e Limit 18:18

Capítulo 9. Testando a API com Jest e Supertest

Instalando as Dependências 06:43

Testes com POST e GET 21:28

Outros métodos e Casos de Exceção 07:43

Inicialização Global para todas as Suites 11:23

Refactoring Após Testes 05:42

Capítulo 10. Segurança

Autenticação (Parte 1) 09:55

Autenticação - Tokens JWT (Parte 2) 14:06

Autorização (Parte 1) 18:02

Autorização (Parte 2) 20:44

Habilitando HTTPS 05:49

Adaptando os Testes para as Mudanças de Segurança 10:30

Capítulo 11. Cluster e Gerenciamento de Processos com PM2

Instalando e Conhecendo o PM2 06:22

Node Event Loop e Processos em Cluster 16:04

Arquivo de Configuração do PM2 08:49

Logging com Restify e PM2 22:11

Capítulo 12. Ambiente de Produção na Nuvem (Digital Ocean)

Registrando o Nome do Domínio (GoDaddy) 03:51

Criando o Servidor na Digital Ocean 04:14

Configurando o Servidor (SSH e Firewall) - Windows 13:43

Configurando o Servidor (SSH e Firewall) - Linux & Mac 09:40

Instalação do NGINX como Proxy Reverso 04:23

Configuração de Certificado HTTPs com LetsEncrypt 06:18

Instalação do MongoDB 07:11

Instalação do Node.JS, PM2, Typescript e Outras Ferramentas 02:05

Criação do Repositório no Gitlab.com 09:53

Baixando a Aplicação no Servidor 05:24

Finalizando Configurações de Deploy 11:31

Capítulo 13. Integração e Entrega Contínua com Gitlab

Configurando os Testes Automatizados 14:05

Automatização do Deploy 09:43

Capítulo 14. CORS

CORS - Cross Origin Resource Sharing 13:42

Habilitando CORS na API 15:07

Evitando CORS no Ambiente de Produção 17:43

Avaliações de nossos alunos

5.0

Avaliação média

  • (100%)
  • (0%)
  • (0%)
  • (0%)
  • (0%)

Comentários

  • avatar

    Marcos Santos

    Estou gostando

  • avatar

    Daniel de Alencar Rocha

  • avatar

    Moizes

    Excelente.

  • avatar

    Thiago Moura

  • avatar

    Tiago Jerônimo Duarte

    A um tempo atrás eu estava insistentemente querendo aprender angular, porém com um pouco de dificuldade de assimilar de maneira mais ampla o conteúdo, fiz o curso de Angular da cod3 e consegui compreender e aplicar todo o conteúdo de maneira plena. Da mesma forma está ocorrendo para aplicações nodejs com typescript, pois a algum tempo já tenho estudado node e typescript e queria ter um entendimento melhor de como fazer está fusão de maneira mais prática e o curso Do Zero à Nuvem: Uma API Restful com NodeJS, Restify e MongoDB tem sido ótimo. Parabéns aos professores desta plataforma pelo excelente material e didatica.