Nest.js e React.js do zero ao avançado com typescript [2023]
- Descrição
- Currículo
- FAQ
- Revisões
Este curso tem como objetivo ensinar aos alunos como criar um sistema completo de loja online utilizando tecnologias modernas de desenvolvimento web. O curso utilizará o framework Nest.js no backend para criar uma API RESTful para gerenciar as operações de compra e venda na loja online. Será utilizado também o TypeScript para tipagem de dados e melhorar a qualidade do código. Além disso, serão abordados testes unitários para garantir que o código esteja funcionando corretamente.
No front end, o curso utilizará o React.js para criar uma interface de usuário moderna e responsiva. Também será utilizado o TypeScript para melhorar a manutenção e legibilidade do código. Os alunos aprenderão a criar componentes reutilizáveis, consumir dados da API e criar páginas dinâmicas e interativas.
O curso irá abordar temas importantes como autenticação e autorização, gerenciamento de sessões, validação de dados, segurança, escalabilidade e performance. Os alunos também aprenderão boas práticas de desenvolvimento web, como escrever testes unitários e como criar um código limpo, testável e de fácil manutenção.
Ao final do curso, os alunos terão as habilidades necessárias para criar um sistema de loja online completo utilizando tecnologias modernas de desenvolvimento web e estarão preparados para aplicar esses conhecimentos em seus projetos futuros. O curso é ideal para desenvolvedores web que desejam aprimorar suas habilidades em tecnologias modernas, escrever código de alta qualidade e garantir a qualidade do código por meio de testes unitários.
-
1Apresentação do curso [ATENÇÃO! Curso de React native não incluso!]Vídeo Aula
-
2Apresentação do curso de React.jsVídeo Aula
Bem-vindo ao nosso Curso Completo de React, onde você aprenderá tudo o que precisa saber para se tornar um desenvolvedor React habilidoso. Este curso é projetado para ensinar a você desde os conceitos básicos do React até tópicos avançados, com aulas passo a passo e exemplos práticos.
Começaremos com uma introdução ao React e ao seu ecossistema, e depois passaremos a explicar como criar componentes, gerenciar estado e lidar com eventos. A partir daí, você aprenderá como usar o React para criar interfaces de usuário sofisticadas e interativas, usando recursos avançados como animações e roteamento.
Além disso, você descobrirá como usar ferramentas populares do React, como Redux e React Router, para criar aplicativos mais complexos. E também abordaremos boas práticas, estratégias de depuração e como otimizar o desempenho do seu aplicativo.
Ao final deste curso, você terá a habilidade e confiança para criar aplicativos React completos e sofisticados. Junte-se a nós nesta jornada de aprendizado e prepare-se para dar o próximo passo em sua carreira de desenvolvedor.
Bibliotecas que utilizaremos:
- Vite
- TypeScript
- AntD
- Styled Components
- Figma
- Eslint
- Prettier
- Axios
- React Router
- Use Context
- Redux
- React test library com o Jest
Github do projeto React: https://github.com/juliossena/vendas-online-web
Github do backend: https://github.com/juliossena/vendas-online-backend
-
3IntroduçãoVídeo Aula
-
4Leia antes de continuar esta seçãoTexto
-
5Trabalhando com o array utilizando .mapVídeo Aula
-
6Trabalhando com o array utilizando .forEachVídeo Aula
-
7Trabalhando com o array utilizando .filterVídeo Aula
-
8Trabalhando com o array utilizando .findVídeo Aula
-
9Trabalhando com o array utilizando .reduceVídeo Aula
-
10Trabalhando com o array utilizando .keysVídeo Aula
-
11Trabalhando com o array utilizando .sortVídeo Aula
-
12Trabalhando com o array utilizando .some e .everyVídeo Aula
-
13Trabalhando com o array utilizando .flatMapVídeo Aula
-
14Criação de projetos no Git / criar projeto nestVídeo Aula
Neste vídeo, você aprenderá a iniciar um projeto usando o Nest.js, um framework para Node.js que oferece uma arquitetura escalável e modular. Você verá como instalar o Nest.js e criar um novo projeto, além de aprender sobre a estrutura básica do projeto e como criar e estruturar módulos e controladores. Este tutorial é ideal para aqueles que desejam começar a usar o Nest.js em seus projetos e desejam ter uma base sólida para começar a trabalhar. Ao final do vídeo, você terá as habilidades necessárias para iniciar seu próprio projeto usando o Nest.js.
Links de download:
node - https://nodejs.org/en/download/
visual studio code - https://code.visualstudio.com/download
Link do Github: https://github.com/juliossena/vendas-online-backend
Link do commit: https://github.com/juliossena/vendas-online-backend/commit/b94a2643d852c0f991b2299f562ee63900ecf6f0
Comandos para instalação:
npm -i -g @nestjs/cli
nest new nome-do-projeto
-
15Criando módulo e controller do userVídeo Aula
Nesse vídeo é criado o primeiro controller de usuário.
Github: https://github.com/juliossena/vendas-online-backend
commit: https://github.com/juliossena/vendas-online-backend/commit/85ad52c09c82c1a2e8483fc5aa3d3694b45609d9
Salvar eslint automaticamente:
{"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}
Comandos:
criar modulo - nest g module user
criar controller - nest g controller user
-
16Criar DTO's no nest / Verbos de requisiçãoVídeo Aula
Nesse vídeo é ensinado a criação de DTO`s e enviar informações pelo método POST. Além disso falamos um pouco sobre os verbos:
GET, POST, DELETE, PUT e PATCH
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/566eef4db0266d2266b8252fbc2e02d75168012c
-
17Criar service no Nest.jsVídeo Aula
Nessa aula nós criamos o service do usuário e a partir do método POST inserimos usuários na nossa listagem.
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/fbb08d7075ccb1bca408602ae3bdcb47f54873e0
-
18Criar banco de dados no docker com postgres e conectar ao NestVídeo Aula
Nessa aula a gente fez a criação da instancia do docker e integramos nosso micro-serviço ao banco de dados Postgres utilizando o TypeORM.
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/226d4542536095f25e10122e1c9969c468d7ebe8
-
19Criação de entidades no Nest.jsVídeo Aula
Nessa aula nós criamos nossa primeira entidade que é conectada ao banco de dados, além disso, modificamos o nosso código para salvar no banco de dados nossas requisições.
Github: https://github.com/juliossena/vendas-online-backend
commit: https://github.com/juliossena/vendas-online-backend/commit/540ab31c908cf09c299d7a665716b38929b064e7
-
20Criação de migrations utilizando TypeOrm no Nest.jsVídeo Aula
Nessa aula foi ensinado como gerar as migrations e rodá-las sempre que o servidor subir.
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/f12d8460aef101089317f6e91bde9e7fd1dc3d83
-
21Criação do script para inserir todas as cidades e estados do BrasilVídeo Aula
Nesse vídeo foi inserido na tabela de estados e cidades todos os estados e cidades existentes no Brasil, além disso, criamos suas respectivas entidades.
github: https://github.com/juliossena/vendas-online-backend
commit: https://github.com/juliossena/vendas-online-backend/commit/f12d8460aef101089317f6e91bde9e7fd1dc3d83
-
22Buscar cidades de um estado - Inserir cache no Nest.jsVídeo Aula
Nessa aula a gente busca nossa lista de cidades pelo Identificador de um estado, além disso, a gente coloca esse resultado em um cache para melhorar o desempenho do nosso resultado.
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/b938847650bf3498005dcec94f132099b33c377a
-
23Criação do módulo de cache (importar e exportar módulos no Nest.Js)Vídeo Aula
Nessa aula a gente aprendeu a criar o módulo de cache, além disso, exportamos o módulo de cache para qualquer outro módulo conseguir importar e utilizar.
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/fff33667ffa9cb6f1556102c4d18ed013e2e12f9
-
24Inclusão de validação na requisição POST do Nest.jsVídeo Aula
Nessa aula foi ensinado como criar um DTO com validação (class-validator), além disso, começamos a devolver somente o que é necessário no nosso controller.
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/fbc4a0a99c730dbc8de434abecd37839b806219a
-
25Criação do módulo de endereçoVídeo Aula
Nessa aula nós criamos o módulo de endereço do usuário e inclusão dele no banco de dados.
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/2c9be84331c0450da5c3e4afa608df48ea5ca728
-
26Tratamento de exceçãoVídeo Aula
Nessa aula a gente sobe exceções e trata ela quando necessário.
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/03172c60b57c2678c80191e47d45e298917b8028
-
27Many To One utilizando TypeOrmVídeo Aula
Nessa aula a gente cria a ligação entre as entidades utilizando o Many To One / One To Many do TypeOrm.
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/4a94354724d66312968c35060fba73729c08759d
-
28Criação de DTO's de estados e cidadesVídeo Aula
Nessa aula a gente cria os DTO's de estados e cidades, além de buscar com o TypeOrm vários tipos de relações.
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/89a5cb30a191744c607c2842466db5a52e15c260
-
29Validação de usuário e senha utilizando bcryptVídeo Aula
Nessa aula foi feito a validação de usuário e senha do usuário utilizando a biblioteca bcrypt.
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/8408548908c7b4e6ecd4f0b104a9417e6f44acdc
-
30Inclusão do token JWT na resposta do loginVídeo Aula
Nessa aula aprendemos como incluir um token JWT na resposta do login.
GitHub: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/38f18ecbcf4341adfdaafcc218fef088f894e240
-
31Validando permissão do usuário por endpointVídeo Aula
Nessa aula aprendemos como verificar se o usuário possui permissão para acessar o endpoint, e caso não possua receba um código de erro para isso.
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/2c1ee9e3751f9c25d07380e117d58acc1b036735
-
32Criação de decorator customizadoVídeo Aula
Nessa aula a gente aprende a criar um decorator customizado para poder inserir o id do usuário na requisição utilizando o token.
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/a237dece32934b129f0846f2e8060d155b18b29e
-
33Colocando a coluna email como únicaVídeo Aula
Nessa aula nós criamos um migration para deixar a coluna de email como única, além disso, fizemos a validação do cadastro quando o e-mail já existir na base de dados.
GitHub: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/fd7fb9aa05d4c65bd18a7de58c9f9d0f057913e8
-
34Criação de testes unitáriosVídeo Aula
Nessa aula nós vamos começar a fazer os testes unitários do nosso sistema, além disso, vamos corrigir alguns erros de importação no projeto.
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/30cd444c06637d0c0ef8b9668971b0b9566c1811
-
35Teste unitário do state e cityVídeo Aula
Nessa aula criamos os testes unitários dos estados e das cidades.
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/0129af4862cb4ae71168c86f9ea93734f2dcb44f
-
36Criação de teste unitário do addressServiceVídeo Aula
Nessa aula vamos fazer o teste unitário do AddressService.
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/95a2481b8b5100a0328bc977362157d178309ff1
-
37Criação do teste unitário da classe AuthServiceVídeo Aula
-
38Criação de teste unitário do CacheServiceVídeo Aula
Nessa aula criamos os testes unitários da classe CacheService
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/03d12052a51ad16f2e1f50abfc637fc961712e5c
-
39Criando função de buscar endereços utilizando TDDVídeo Aula
Nessa aula criamos a função de buscar todos os endereços do usuário logado utilizando o método TDD (Test Driven Development).
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/773c2706e0a4d3903ef461c6efd730115ae09101
-
40Criação das entidades de Produto e CategoriasVídeo Aula
Nessa aula vamos criar as entidade de Produto e Categorias além de criar o migrations para elas.
GitHub: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/d2940949e4669454e8a607acc39905a0e0e57cef
-
41Criando a função de visualizar categorias utilizando TDDVídeo Aula
Nessa aula vamos criar a função de visualizar todas as categorias utilizando o método TDD (Test Driven Development).
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/754a332d66c473cc34ab877f84f70e86ee18a379
-
42Criando a função de criar categoria utilizando TDDVídeo Aula
Nessa aula vamos criar a função que faz a criação de categorias, além disso, utilizamos o Test Driven Development (TDD), para guiar nosso desenvolvimento.
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/9a77fdc1ddd8e0e907d2aef4dcbff2b622165ae7
-
43Criação da função de listar todos os produtosVídeo Aula
Nessa aula vamos criar a função de listar todos os produtos.
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend/commit/61c3dfa6fdc09fe6441edf22e05805d63e882597
-
44Endpoint de criar produtoVídeo Aula
Nessa aula vamos criar o endpoint que será utilizado para criar os produtos relacionados há uma categoria.
Github: https://github.com/juliossena/vendas-online-backend
Commit: https://github.com/juliossena/vendas-online-backend
-
45Deleção de um produto com TypeORMVídeo Aula
-
46Editando um produto com PUTVídeo Aula
-
47Atualizar senha do usuário com PATCHVídeo Aula
-
48Testes unitários da função de atualizar senhaVídeo Aula
-
49Criação da entidade de carrinhoVídeo Aula
-
50Relação Many-to-many no TypeORMVídeo Aula
-
51Criação do carrinhoVídeo Aula
-
52Inserindo produto no carrinhoVídeo Aula
-
53Validações ao inserir produto no carrinhoVídeo Aula
-
54Buscar informações e limpar carrinhoVídeo Aula
-
55Excluir e atualizar produto do carrinhoVídeo Aula
-
56Test unitário do CartProduct Part 1Vídeo Aula
-
57Test unitário do CartProduct Part 2Vídeo Aula
-
58Test unitário do CartProduct Part 3Vídeo Aula
-
59Criando teste unitário para a classe de carrinho (Parte 1)Vídeo Aula
-
60Criando testes unitários para a classe de carrinho (Parte 2)Vídeo Aula
-
61Criando testes unitários para a classe de carrinho (Parte 3)Vídeo Aula
-
62Entenda o que é e como garantir uma Cobertura Ideal de TestesVídeo Aula
-
63Teste unitário dos controllers Part 1Vídeo Aula
-
64Testes unitários dos controllers Parte 2Vídeo Aula
-
65Testes unitários dos controllers parte 3Vídeo Aula
-
66Criação do módulo de pagamentosVídeo Aula
-
67Criação do modulo de pedidosVídeo Aula
-
68Relacionamento das tabelas Orders e PaymentVídeo Aula
-
69Criação da lógica de pagamento Part 1Vídeo Aula
-
70Criação da lógica de pagamento Part 2Vídeo Aula
-
71Criação da lógica dos pedidos parte 1Vídeo Aula
-
72Criação da lógica dos pedidos parte 2Vídeo Aula
-
73Criação da lógica dos pedidos parte 3Vídeo Aula
-
74Criação da lógica dos pedidos parte 4Vídeo Aula
-
75Testes unitários da ordem de compra Parte 1Vídeo Aula
-
76Testes unitários da ordem de compra Parte 2Vídeo Aula
-
77Testes unitários da ordem de compra Parte 3Vídeo Aula
-
78Testes unitários da ordem de compra Parte 4Vídeo Aula
-
79Buscar informações do usuário pelo tokenVídeo Aula
-
80Inserir informações de categorias na busca de produtosVídeo Aula
-
81Fazer busca de count e groupBy usando TypeORMVídeo Aula
-
82Fazer teste unitário da função de buscar as categorias com quantidade de produtoVídeo Aula
-
83Listagens de pedido feitos pelos usuáriosVídeo Aula
-
84Criação de testes unitários de buscar pedidosVídeo Aula
-
85Buscar detalhes do pedidoVídeo Aula
-
86Criar teste unitário da busca de detalhe do pedidoVídeo Aula
-
87Inserir a quantidade de produtos na listagem de pedidosVídeo Aula