TypeScript, Node, ES6 e Postgres - CRIE PROJETOS DO ZERO!
4.6 (56 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
342 students enrolled
Wishlisted Wishlist

Please confirm that you want to add TypeScript, Node, ES6 e Postgres - CRIE PROJETOS DO ZERO! to your Wishlist.

Add to Wishlist

TypeScript, Node, ES6 e Postgres - CRIE PROJETOS DO ZERO!

Aprenda a criar uma API REST/RESTful completa usando TypeScript, Node, ES6, Sequelize, Postgres, Express e JWT do ZERO!
4.6 (56 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
342 students enrolled
Last updated 9/2017
Portuguese
Current price: $12 Original price: $170 Discount: 93% off
3 days left at this price!
30-Day Money-Back Guarantee
Includes:
  • 9.5 hours on-demand video
  • 6 Coding exercises
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion

Training 5 or more people?

Get your team access to Udemy's top 2,000 courses anytime, anywhere.

Try Udemy for Business
What Will I Learn?
  • Desenvolver soluções Web com confiança utlizando a linguagem TypeScript e ES6
  • Criar uma API RESTful integrada com o banco de dados PostgreSQL usando TypeScript e Sequelize
  • Implementar mecanismos de autenticação em APIs utilizando JWT
  • Utlizar o framework Express, o gerenciador de pacotes NPM, NodeJS e outros
  • Utilizar bibliotecas como, bluebird, http-status, bcrypt etc, para melhorar a experiência no desenvolvimento
  • Garantir a integridade e a funcionalidade de seu código através de testes automatizados
  • Gerar relatórios de cobertura de código
  • Automatizar tarefas utilizando a ferramenta Gulp
  • O conceito de refatoração e sua aplicação prática
  • Rodar suas aplicações em servidores externos de integração contínua
View Curriculum
Requirements
  • Noções básicas de JavaScript
  • Conhecimento em alguma outra linguagem de programação como C#, Java ou JavaScript
  • Lógica de programação
  • Conhecimento básico de Node
  • Conhecimento em Orientação à Objetos
  • Conhecimento em Ambiente Unix
  • Conhecimento básico em Git e Github
Description

Se você está querendo aprender sobre como desenvolver aplicações Web utilizando as tecnologias mais atuais, boas práticas e totalmente hands-on, então este curso é para você!

O que você aprenderá neste curso?

Neste curso você irá aprender o que é o TypeScript e entenderá suas funcionalidades e como usá-las. Este curso te guiará desde conceitos teóricos abordados de forma rápida e objetiva até a aplicação prática destes conceitos e com isso você conseguirá usar não só o TypeScript em qualquer um de seus projetos, como a aplicação desenvolvida no projeto prático como ponto de partida para futuros projetos, ou seja, ao final deste curso você terá desenvolvido uma API RESTful com cadastro e autenticação de usuários, bastando apenas implementar novas funcionalidades e testes de acordo com a sua necessidade.

Através do curso TypeScript na Prática, você irá aprender também, através de um projeto totalmente prático a desenvolver uma API REST em TypeScript, Nodejs com Express usando as novas features da ES6 e fazê-la se comunicar com o banco de dados relacional PostgreSQL, modelar os dados usando o ORM Sequelize e garantir a segurança da aplicação através da autenticação via tokens utilizando Passport JWT e também garantir o funcionamento da aplicação através de testes automatizados.

Dê uma olhada em alguns tópicos que você irá aprender: 

  • TypeScript
  • ES6
  • Programação Assíncrona
  • NodeJS
  • Express
  • Sequelize
  • Autenticação via JWT (JSON Web Token)
  • npm
  • Testes
  • Code Coverage com nyc
  • Orientação a Objetos
  • Programação funcional
  • Automatização de Tarefas usando Gulp
  • Integração Contínua
  • Entre outras...

Além de todo o conteúdo passado e o desenvolvimento do projeto prático, você passará por exercícios de fixação onde você poderá reforçar o aprendizado.

Ao se matricular neste curso, você terá acesso a todas as futuras atualizações e novos módulos que virão! Além de todo suporte em suas dúvidas e problemas.


Um pouco sobre TypeScript

O TypeScript foi feito para que desenvolvedores pudessem escrever códigos JavaScript na mesma forma de algumas outras linguagens devido a Orientação à Objetos. Vale ressaltar que o TypeScript não é um substituto para o JavaScript e sim um superset e com isso ele nos oferece alguns recursos que não são nativos no JavaScript como tipos de dados definidos, orientação a objetos, etc. Outra boa funcionalidade do TypeScript é a de que ele nos dá feedbacks instantâneos sobre o código que estamos escrevendo para apontar erros de sintaxe durante o processo de desenvolvimento e com isso termos mais produtividade.


Who is the target audience?
  • Desenvolvedores que buscam aprimorar seus conhecimentos em desenvolvimento web
  • Desenvolvedores que querem aprender como desenvolver uma API RESTful utilizando a linguagem TypeScript
  • Qualquer pessoa que quiser aprender como criar uma aplicação de backend completa
  • Desenvolvedores que querem aprender sobre testes e code coverage
  • Desenvolvedores que querem aprender como implementar JWT em APIs
  • Desenvolvedores que querem aprender a utilizar a ferramenta Gulp para automatizar tarefas
  • Desenvolvedores que querem aprender como aplicar Integração Contínua em seus projetos
Compare to Other API Courses
Curriculum For This Course
117 Lectures
09:14:45
+
Introdução
6 Lectures 30:19

Introdução ao TypeScript
07:03

TypeScript Playground
03:11

Introdução ao NodeJS, NPM e Express
09:42

Preparando o ambiente de desenvolvimento com Node, npm e TypeScript
03:23

Instalando o Postgres e o pgAdmin
03:29
+
ES6 Overview
7 Lectures 39:33
Let, Const e Var - Quando e qual deles usar?
11:35

Arrow Functions
04:01

Default Parameters
03:57

Interpolação de String - Trabalhando com Template String
02:39

Arrays e Object Destructuring
04:02

Implementando Módulos - Forma Antiga
08:49

Implementando Módulos - Forma Nova
04:30
+
Introdução ao Type System e Orientação a Objetos com TypeScript
5 Lectures 12:45
Tipos Primitivos e Inferência
04:23

Classes
01:35

Métodos
03:46

Interfaces
02:04

Enum
00:57
+
O que iremos desenvolver?
2 Lectures 14:19

Introdução ao REST
10:01
+
Projeto Prático - Iniciando o Desenvolvimento da API
14 Lectures 01:07:19
Criando o Banco de Dados
01:47

Criando o Projeto - NPM e Package.json
02:48

Instalando as Dependências do Projeto
03:10

Bibliotecas de Terceiros - @types como Dependência de Desenvolvimento
05:03

Entendendo o tsconfig.json
05:22

Instalando o Sequelize CLI
02:48

Definindo a Estrutura de Diretórios Inicial
03:21



Criando Middleware Error Handler
05:33

Criando as Rotas da API
07:06

Criando Módulo Config - Isolando Parâmetros de Configuração da Aplicação
08:43

Importando os Módulos - Integrando Componentes da Aplicação
08:20

Refatorando o Servidor - Deixando mais Completo
03:45
+
Testes Automatizados
8 Lectures 46:36
Introdução - Testes Automatizados
04:19

O que é TDD?
03:15

Introdução - Testes Unitários
01:24

Introdução - Teste de Integração
01:46

Preparando o Ambiente de Testes
09:36

Skelleton de Testes Unitários
09:06

Escrevendo Primeiros Testes de Integração
08:25

Rodando os Testes de Integração - Eles irão falhar e é isso mesmo que queremos!
08:45
+
Continuação do Projeto Prático
40 Lectures 02:08:41
Criando o Módulo User - Refatorando as Rotas
02:59

Implementando Métodos para Atender as Rotas
03:53

Rodando o Sequelize
04:15

Modelando Dados com Sequelize e Sincronizando com o Banco de Dados
07:54

Subindo a Aplicação - Tabela Criada no Banco de Dados
02:59

Implementando Controller
03:35

Refatorar Métodos para Atender as Rotas
03:10

Refatoração e Execução dos Testes de Integração - Fazendo os Testes Passarem
05:06

Usando a Biblioteca http-status
04:14

Definindo os Requisitos Obrigatórios para os Testes de Integração - Parte 01
08:58

Definindo os Requisitos Obrigatórios para os Testes de Integração - Parte 02
02:38

Definindo os Requisitos Obrigatórios para os Testes de Integração - Parte 03
02:59

Definindo os Requisitos Obrigatórios para os Testes de Integração - Parte 04
03:19

Implementar Caso de Teste para Atualizar Registro
1 question

Implementar Caso de Teste para Exclusão de Registro
1 question

Execute os Testes de Integração
1 question

Promise - Usando a Biblioteca Bluebird
04:25

Implementando a Interface User
08:05

Implementando a Estrutura do Service
05:00

CRUD Service - Implementação do Método Create
01:04

CRUD Service - Implementação do Método GetAll
02:24

CRUD Service - Implementação do Método GetById
01:35

CRUD Service - Implementação do Método GetByEmail
00:58

Implementar Método Update do Service
1 question

Implementar Método Delete User do Service
1 question

CRUD Service - Implementação do Método Update
02:21

CRUD Service - Implementação do Método Delete
02:00

Refatorando os Testes Unitários - Testando Método Service CREATE
03:38

Refatorando os Testes Unitários - Testando Método Service GETALL
02:17

Refatorando os Testes Unitários - Testando Método Service UPDATE
02:36

Refatorando os Testes Unitários - Testando Método Service DELETE
02:13

Refatorando os Testes Unitários - Testando Método Service GETBYID - Desafio
01:14

Implementar Caso de Teste Uniátio GETBYID
1 question

Refatorando os Testes Unitários - Testando Método Service GETBYEMAIL
00:41

Implementar Caso de Teste Uniátio GETBYEMAIL
1 question

Rodando Testes de Integração - Por que os Testes Ainda Falham?
02:01

CRUD Controller - Implementação do Método GetAll
04:04

CRUD Controller - Implementação do Método CreateUser
02:07

CRUD Controller - Implementação do Método GetById
02:22

CRUD Controller - Implementação do Método UpdateUser
01:54

CRUD Controller - Implementação do Método DeleteUser
01:42

Rodando Testes de Integração - Passou!
01:39

Criando Módulo Reutilizável de Success Handler
02:56

Criando Módulo Reutilizável de Error Handler
02:18

Criando um Error Handler para Operações de Banco de Dados
02:56

Refatorando o Controller - Usando os Handlers Criados
07:16

Testando Para Garantir o Funcionamento Após a Refatoração do Controller
00:56
+
Autenticando Usuários na Aplicação
10 Lectures 53:37
O que é o Passport?
01:20

Autenticação via Token - Passport JWT
05:46

Instalando as Dependências e Definindo a Rota Token
03:38

Implementando a Estratégia de Autenticação
07:29

Criando a Função de Autenticação Bem Sucedida
04:57


Implementando o Módulo Auth
06:35

Acionando o Middleware de Autenticação
06:30

Testando a Geração de Tokens
10:31

Refatorando e Executando os Testes de Integração
04:58
+
Criptografia
3 Lectures 11:58
Instalando a Biblioteca bcrypt
01:39

Criptografando Senha do Usuário
08:27

Rodando os Testes de Integração
01:52
+
BÔNUS - Cobertura de Código
2 Lectures 08:02
Code Coverage - Instalando a Biblioteca Istanbul - Nyc
01:25

Testando a Aplicação e Gerando Relatórios
06:37
5 More Sections
About the Instructor
Raphael de Assunção Oliveira Lima
4.6 Average rating
55 Reviews
342 Students
1 Course
Desenvolvedor Web JavaScript e Python

Bacharel em Ciência da Computação pela Universidade Paulista, 4 anos de experiência em desenvolvimento de software com foco em web e 6 anos de experiência em infraestrutura. Palestrante em eventos como Fórum Internacional de Software Livre e em faculdade. Entusiasta do movimento software livre com contribuições na base de conhecimento da MDN - Mozilla Developer Network, mantenedor de um canal no YouTube sobre programação e de um blog onde escreve sobre desenvolvimento Web, JavaScript, Linux e Python.