Quais tópicos serão abordados no curso?
Introdução ao Node.js
Palavras de Abertura e Visão Geral do Curso:
Palavras de abertura.
O que será abordado no curso e uma introdução ao Node.js.
Ênfase no trabalho com repositórios de código.
Escrevendo um Servidor Básico:
Construindo um primeiro servidor simples.
Explicação do que é um servidor e como lidar com requisições e respostas HTTP.
Entendendo códigos de status e retornando JSON vs. HTML.
Manuseio Básico de Requisições:
Introdução a endpoints de servidor API.
Definindo múltiplas rotas para o manuseio de requisições.
Manuseio Avançado de Requisições do Servidor:
Entendendo a estrutura de requisições HTTP.
Explicação dos códigos de status e comportamento do servidor.
Preparação para Escrever uma API Restful:
Introdução a APIs Restful.
Entendendo QueryString e parâmetros de requisição.
Trabalhando com o Sistema de Arquivos
Lendo Arquivos no Node.js:
Trabalhando com o módulo do sistema de arquivos (fs).
Usando a função readFile de forma assíncrona.
Usando a função readFileSync de forma síncrona.
Introdução aos módulos fs e path.
Criando um servidor com múltiplos endpoints.
Salvando arquivos de texto e JSON.
Salvando Arquivos no Node.js:
Usando a função writeFile de forma assíncrona para escrever arquivos.
Usando a função writeFileSync de forma síncrona para escrever arquivos.
Manuseando erros no servidor.
Deletando Arquivos no Node.js:
Deletando arquivos usando unlinkSync.
Usando diretórios no sistema de arquivos.
Função para verificar se um arquivo existe no sistema de arquivos.
Manuseando Requisições POST:
Arquitetura básica de servidor.
Manuseando requisições post.
Usando Postman para criar requisições get e post.
Usando Validação no Servidor:
Escrevendo um servidor significativo.
Usando validações e erros no servidor.
Criando um servidor com múltiplas requisições (ler, escrever, deletar arquivos do sistema operacional).
Escrevendo um Servidor com Express
Introdução ao Uso do Express:
Contexto sobre a biblioteca express.
Usando a biblioteca express para escrever um servidor.
Usando as funções send, sendStatus e json.
Manuseando requisições get.
Manuseando Querystring e Params:
Usando req.query com express.
Usando req.params com express.
Escrevendo um servidor de dados de administração usando o sistema de arquivos.
Manuseando Requisições POST no Servidor:
Manuseando requisições post com express.
Explicação do uso de middleware.
Adicionando validações de números no servidor.
Arquitetura de Servidor:
Arquitetura de servidor em express.
Usando express.Router para manusear o roteamento do servidor.
Adicionando e construindo controladores no servidor.
Adicionando e construindo serviços no servidor.
Usando Middlewares no Express:
Entendendo middlewares no express.
Incorporando middlewares adequadamente nos controladores.
Escrevendo validações usando middlewares.
MongoDB
Introdução ao MongoDB:
Introdução a bancos de dados.
Diferenças entre bancos de dados relacionais e não relacionais.
Introdução ao MongoDB e casos de uso comuns.
Conectando o servidor express ao MongoDB.
Introdução ao uso do mongo GUI.
Salvando e Recuperando Registros:
Definindo esquemas e revisando tipos comuns.
Criando um registro no MongoDB com a função save.
Procurando por registros no MongoDB usando a função find.
Usando filtros comuns como gte$, $gt, $lte, $lt e eq$.
Consultas Avançadas no MongoDB:
Entendendo o identificador ObjectId.
Explicação da função toJSON.
Usando a consulta findById no MongoDB.
Atualizando registros usando findByIdAndUpdate.
Usando o operador inc$.
Usando a função count no MongoDB.
Definindo valores padrão para o esquema no MongoDB.
Consultas de Deleção e Operadores Básicos:
Deletando registros usando findByIdAndDelete.
Usando o operador push$.
Manuseando requisições de falha no servidor (500).
Agregações Avançadas no MongoDB:
Construindo uma pipeline avançada e usando agregações.
Ordenando dados em consultas do MongoDB.
Usando operadores comuns como sum, $max, $min e avg$.
Relacionamentos Avançados Entre Coleções no MongoDB:
Explicação de como conectar coleções usando ref.
Usando a ação populate no MongoDB.
Explicação aprofundada de como criar um id no MongoDB.
Segurança do Servidor com Autenticação
Introdução ao JWT:
Contexto sobre segurança de servidor.
Introdução ao pacote jsonwebtoken.
Criando o primeiro token.
Usando a função verify para verificar a validade do token.
Escrevendo uma API Segura:
Adicionando uma camada de segurança ao servidor.
Construindo Middleware para segurança do servidor.
Implementando segurança com JWT no servidor que escrevemos.
Usando a Biblioteca Crypto:
Contexto sobre o uso de criptografia no servidor.
Explicação de funções hash para hash de senhas.
Adicionando salt ao esquema para segurança aprimorada.
Explicação de ataques possíveis.
Comunicação Entre Servidores:
Usando a biblioteca axios para comunicação entre servidores.
Buscando dados de outro servidor através do servidor que escrevemos.
Armazenando dados no MongoDB para dados obtidos de um servidor externo.
Palavras de Encerramento:
Palavras de encerramento para resumir o curso.