635 http://marketplace.upfy.com.br//curso-online-criando-apis-com-node.js-graphql-jwt-sequelize-e-ts/635 O GraphQL é uma linguagem de consulta a dados para API's desenvolvida e usada pelo Facebook desde 2012. Em Julho de 2015 se tornou Open Source, portanto é uma tecnologia relativamente muito recente, mas também muito poderosa. GraphQL trabalha com um sistema de tipos, onde pode-se criar um Schema para sua API, permitindo assim, além obter uma validação das consultas feitas pela aplicação Client, saber exatamente o que pode ser requisitado, e também entregar "somente" o que foi requisitado, otimizando o que é chamado de Over Fetching (sobrecarga) de dados, um grande problema em API's REST. Também resolve o problema de Under Fetching (falta) de dados. Seguindo o padão REST, para buscar a lista de posts e seguidores de um usuário, seriam necessárias 3 requisições, com GraphQL bastaria apenas uma! Muitos ainda desconhecem todo o poder do GraphQL. Se você faz parte desse grupo não se preocupe, este curso será sua viagem de ida (muito provavelmente sem volta) para novo mundo da criação de API's mais robustas, flexíveis e eficientes! Por isso peço que abra a sua mente e venha comigo explorar esse novo território, e faça parte do grupo de devs que tiveram o prazer de conhecer o GraphQL! Curso Online: Criando API's com Node.js, GraphQL, JWT, Sequelize e TS com Plínio Naves

CURSO ONLINE: Criando API's com Node.js, GraphQL, JWT, Sequelize e TS

Tecnologia

Foto de perfil de Plínio Naves
com Plínio Naves
Aprenda a desenvolver suas próprias Api's usando Graphql e uma série de tecnologias através de um projeto 100% prático, usando Node.js, Typescript, Autenticação Jwt, Mysql e Sequelize, Otimização com Dataloaders, Testes de Aceitação, Code Coverage, Ambiente de Integração Contínua e mais!
  • 162 aulas
  • Carga Horária: 17h
  • Certificado de conclusão
12 x de R$8,33
ou R$99,90 à vista
Garantia de 30 dias com devolução do valor integral.
12 x de R$8,33
ou R$99,90 à vista
VISÃO GERAL DO CURSO
O GraphQL é uma linguagem de consulta a dados para API's desenvolvida e usada pelo Facebook desde 2012.

Em Julho de 2015 se tornou Open Source, portanto é uma tecnologia relativamente muito recente, mas também muito poderosa.

GraphQL trabalha com um sistema de tipos, onde pode-se criar um Schema para sua API, permitindo assim, além obter uma validação das consultas feitas pela aplicação Client, saber exatamente o que pode ser requisitado, e também entregar "somente" o que foi requisitado, otimizando o que é chamado de Over Fetching (sobrecarga) de dados, um grande problema em API's REST.

Também resolve o problema de Under Fetching (falta) de dados. Seguindo o padão REST, para buscar a lista de posts e seguidores de um usuário, seriam necessárias 3 requisições, com GraphQL bastaria apenas uma!

Muitos ainda desconhecem todo o poder do GraphQL. Se você faz parte desse grupo não se preocupe, este curso será sua viagem de ida (muito provavelmente sem volta) para novo mundo da criação de API's mais robustas, flexíveis e eficientes!

Por isso peço que abra a sua mente e venha comigo explorar esse novo território, e faça parte do grupo de devs que tiveram o prazer de conhecer o GraphQL!
CONHEÇA SEU NOVO INSTRUTOR
Foto de perfil de Plínio Naves
Plínio Naves Ver página do Instrutor
                    Olá, me chamo Plínio Naves e sou formado em Sistemas de Informação pela Libertas Faculdades Integradas. 

Trabalho com diversas tecnologias como Javascript, TypeScript, jQuery, Angular JS, Angular, Ionic, Apollo, Node JS, PHP, Java, CSS, LESS, HTML5, MySQL, Oracle DB, Mongo DB, Padrão MVC, Redux, Programação Reativa (Reactive Programming), GraphQL, entre outras. Sou completamente apaixonado por desenvolvimento web, e por isso estou sempre antenado as novidades e tecnologias emergentes da área.

Meu foco como instrutor é ajudar desenvolvedores que buscam conhecimento prático no desenvolvimento de aplicações do mundo real. Nos últimos 2 anos tive o prazer de elaborar 5 cursos ensinando alguns dos frameworks e tecnologias mais conhecidas da atualidade:

- Aprenda Angular com TypeScript
- Ionic 2 e 3: Apps Híbridos, PWA, Firebase e muito mais
- Criando API's com Node.js, GraphQL, JWT, Sequelize e TypeScript
- Criando aplicações com Angular, Material e Firebase
- Curso completo de Angular 6 (+Apollo, GraphQL e Graphcool)

É um grande prazer poder ajudar meus alunos a alcançarem seus objetivos como desenvolvedores e vê-los evoluir por meio do conhecimento que lhes é transmitido, por isso estou sempre empenhado em trazer o que há de mais recente no mundo do Desenvolvimento Web, e sempre adotando boas práticas de projeto!
                
APROVEITE E COMPRE JUNTO
Imagem do curso Criando API's com Node.js, GraphQL, JWT, Sequelize e TS
Criando API's com Node.js, GraphQL, JWT, Sequelize...
12 x de R$8,33
sem juros
R$99,90
Imagem do curso  Curso App Inventor 2 COMPLETO - Do Zero até Bancos de Dados
Curso App Inventor 2 COMPLETO - Do Zero até Banco...
12 x de R$8,33
sem juros
R$99,90
Imagem do curso Rally com Unity
Rally com Unity
12 x de R$8,33
sem juros
R$99,90
3 CURSOS
para completar seus estudos
por apenas R$299,70
PLANO DE AULA
Introdução
Como o curso está estruturado
3min44s
Setup do ambiente
Sobre a seção
0min25s
O que é o Node.js?
8min41s
Instalando o Node.js
11min10s
Atualizando o NPM
1min34s
Ferramentas (opcional)
3min23s
Iniciando a construção da API
Sobre a seção
0min56s
Como funciona o padrão REST
5min20s
Introdução ao GraphQL
36min22s
GraphQL é melhor que REST!
9min23s
Setup inicial do projeto
2min32s
Node.js e TypeScript
5min47s
Automatizando tarefas com Gulp
7min23s
Implementando mais tarefas e usando NPM Scripts
9min38s
Restart do servidor com nodemon
4min6s
Configurando o express
9min44s
onListening, onError e normalizePort
4min54s
Implementando primeira Query com GraphQL
11min6s
Testando com GraphiQL
5min6s
Implementando primeira Mutation
6min28s
Corrigindo problema com TypeScript
1min27s
Resolvers triviais
4min50s
Conclusão
1min7s
Trabalhando com banco de dados relacional
Sobre a seção
1min8s
Introdução ao MySQL e Sequelize
2min53s
Instalando o MySQL localmente
8min1s
Instalando o Sequelize no projeto
1min38s
ModelsInterface
2min18s
BaseModelInterface
2min43s
DbConnection
2min39s
Apresentando a modelagem da aplicação
5min13s
UserModel (parte 1)
12min47s
UserModel (parte 2)
9min36s
PostModel
9min2s
CommentModel
6min22s
Sequelize CLI e config init
3min54s
Carregamento dos models
19min20s
Sequelize sync
6min10s
Operators aliases
3min34s
Conclusão
1min55s
Schemas e Types
Sobre a seção
0min42s
Modularizando nosso schema
5min7s
User schema: types, queries e mutations
13min57s
Post schema: types, queries e mutations
6min40s
Comment schema: types, queries e mutations
5min20s
Visualizando com GraphiQL
2min32s
Conclusão
1min8s
Resolvers
Sobre a seção
0min24s
DbConnection no context dos resolvers
6min24s
User resolvers: Queries
11min20s
User resolvers: Mutations
12min0s
Lista de posts no User schema e resolvers
5min21s
Post resolvers: Queries
6min40s
Post resolvers: Mutations
5min42s
Comment resolvers: Queries
4min52s
Comment resolvers: Mutations
4min40s
Adicionando resolvers para execução no schema
6min9s
Tratamento de erros genérico para Sequelize
4min40s
ParseInt do id nas Queries(Erro)
0min3s
Testando com GraphiQL
10min4s
Testando com Postman
18min5s
Conclusão
2min6s
Autenticação com JWT e GraphQL
Sobre a seção
0min44s
Introdução ao JWT
17min46s
Autenticação REST vs GraphQL
10min33s
Token schema: type e mutation
3min4s
Token resolver: createToken e JWT_SECRET
13min52s
Testando mutation createToken
6min28s
extractJwtMiddleware
15min38s
Composable resolvers
13min9s
AuthUserInterface
1min38s
ResolverContextInterface
1min53s
Composable: authResolver
7min9s
Composable: verifyTokenResolver
8min53s
Primeiro teste com a camada de autenticação
8min45s
throwError
1min13s
User: evitando colisão de nomes
1min24s
User resolvers: adicionando autenticação
8min58s
User query: retornando usuário do token
2min14s
Post resolvers: adicionando autenticação
6min15s
Comment resolvers: adicionando autenticação
4min20s
Testando com Postman
6min22s
Conclusão
3min3s
Otimizando: DataLoaders e AST
Sobre a seção
0min49s
O que um DataLoader resolve?
3min46s
Identificando os loaders necessários
4min7s
DataLoadersInterface
3min0s
Sequelize operators aliases: in
2min36s
UserLoader
4min8s
PostLoader
1min36s
DataLoaderFactory
7min23s
DataLoaders no context dos resolvers
4min21s
Otimizando as Queries com DataLoaders
8min59s
O que é e o que a AST resolve?
2min56s
Buscando somente os campos necessários
7min29s
Classe RequestedFields
9min52s
Instância RequestedFields no context
1min45s
Otimizando as Queries com filtragem AST
11min29s
Correção no user resolvers
0min51s
DataLoaderParam Interface
3min9s
Refatorando DataLoaderFactory com AST
6min53s
Refatorando os loaders com AST
6min48s
Testando com GraphiQL
4min15s
Aula Conclusão
1min14s
Bônus: Observação adicional
2min44s
Testes de aceitação e code coverage
Sobre a seção
1min43s
Introdução ao Mocha e Chai
2min26s
Setup do ambiente de testes
15min33s
Escrevendo nosso primeiro teste
19min14s
User schema: testando as Queries
16min24s
User schema: testando as Mutations (parte 1)
13min35s
User schema: testando as Mutations (parte 2)
8min51s
Post schema: testando as Queries (parte 1)
13min1s
Post schema: testando as Queries (parte 2)
6min36s
Post schema: testando as Mutations
13min9s
Comment schema: testando as Queries
9min17s
Comment schema: testando as Mutations
10min8s
Token schema: testando Mutation
12min1s
Code Coverage com NYC
9min41s
Melhorando a cobertura dos nossos testes (parte 1)
9min59s
Melhorando a cobertura dos nossos testes (parte 2)
8min9s
Conclusão
1min14s
Preparando para o ambiente de produção
Sobre a seção
0min28s
Habilitando CORS na API
6min12s
Compactando requisições com GZIP
2min22s
Segurança da API com Helmet
3min47s
Introdução ao processamento paralelo com clusters
4min44s
Implementando processamento paralelo
12min5s
Testes com Postman
4min25s
Conclusão
1min11s
Deploy na nuvem e integração contínua
Sobre a seção
1min19s
Entendendo o ambiente que iremos configurar
5min33s
Conhecendo a Digital Ocean
3min9s
Gerando chaves SSH e adicionando a Digital Ocean
7min13s
Criando e acessando nosso droplet
7min22s
Setup inicial do Linux
14min41s
Mantendo identidades SSH
2min57s
Instalando MySQL no Droplet
5min55s
Exportando variável de ambiente JWT_SECRET
3min53s
Instalando Node.js com NVM
3min43s
Instalando gerenciador de processos PM2
2min18s
Instalando o Git e configurando repositório Bare
11min34s
Conta e repositório no BitBucket
5min27s
Configurando Git local com BitBucket
5min35s
Ativando BitBucket Pipelines
10min9s
Preparando projeto para o pipelines
3min8s
Git init local, pull e push
12min46s
Ocultando log desnecessário do pipelines
1min27s
Variável de ambiente no BitBucket para repositório do servidor
4min9s
Chave pública do Droplet no BitBucket
2min0s
Variável de ambiente no BitBucket para chave privada de acesso ao Droplet
4min1s
Comandos finais no BitBucket Pipelines para Deploy
5min28s
Deploy da API com ambiente de integração contínua
7min38s
Verificando logs do PM2 e fazendo correções
9min21s
Testando com Postman
1min57s
Instalando e configurando o Nginx
15min33s
PM2 startup script
3min6s
Adicionando domínio ao nosso droplet
8min44s
Testes finais com Postman
2min55s
Conclusão
3min2s
Conclusão
Conclusão do curso
3min57s
O QUE VOCÊ VAI APRENDER NESTE CURSO
  • Principais conceitos e porque usar GraphQL

  • Criar API's GraphQL com NodeJS

  • Usar JWT para autenticação com GraphQL

  • Configurar e usar TypeScript no projeto

  • Modelar dados usando Sequelize / MySQL

  • Otimizar consultas ao banco com Data Loaders e AST

  • Implementar um ambiente de testes automatizados

  • Fazer deploy na nuvem

  • Integração contínua com Bitbucket Pipelines