O termo e-commerce é a comercialização de produtos e serviços pela internet, onde as transações são realizadas via dispositivos eletrônicos, como computadores e smartphones.
Esse tipo de comércio pode contar com diversos canais de vendas. O mais conhecido é a loja virtual. Porém, também temos outros, como marketplaces, vendas nas redes sociais e até vendas por e-mail marketing.
Embora seja uma ferramenta popular nos dias de hoje, muitas pessoas, s e até a imprensa ainda não sabem a definição correta e tratam o termo e-commerce como sinônimo de loja virtual. Isso já se provou ser um grande equívoco, tendo em vista que uma coisa não é a mesma que a outra.
É válido frisar que a expressão e-commerce se diferencia do termo “loja virtual”, uma vez que o segundo conceito se refere ao website em que os clientes adquirem os produtos, ou seja, é um dos canais do e-commerce. No entanto, existem outros, como citado anteriormente.
Link do curso: https://go.hotmart.com/W10551234Y
Sobre o Curso
Sobre mim
Instalando aplicações necessárias - NodeJS
Instalando aplicacoes necessarias - MongoDB
Instalando aplicações necessárias - VSCode
Definindo os Casos de Uso da Loja - Administrador
Definindo os Casos de Uso da Loja - Cliente e Visitante
Especificando os relacionamentos e estrutura entre modelos
Instalando pacotes globais - Create-React-App e Mocha
Instalando as dependências
Criando as Pastas e Estrutura Inicial da API
Criando e Configurando o Arquivo de Entrada - Server.JS
Preparando os Arquivos de Configuração
(EXTRA) Como Configurar o E-mail GMAIL para usar na API
Configurando a Base das Rotas
Finalizando a Preparação
(EXTRA) Instalando Nodemon e criando Scripts
Criando o middleware de Autenticação
Criando e Configurando o Modelo (parte 1/2)
Criando e Configurando o Modelo (parte 2/2)
Criando as Rotas
Criando o Controller e Funcionalidades para as Rotas (1/3)
Criando o Controller e Funcionalidades para as Rotas (2/3)
Criando o Controller e Funcionalidades para as Rotas (3/3)
Criando Views para Recuperação de Senha
Criando Helper para envio do email de Recuperação de Senha
Testando Rotas e Controller (1/2)
Testando Rotas e Controller para Recuperação de Senha e Finalizando (2/2)
Criando Modelo
Criando Rotas e Validação de Administração da Loja
Criando Controller
Fazendo os testes manuais e Finalizando
Preparando e Fazendo Setup da Validação
Atualizando as validações nos Usuários
Atualizando a validação para o Controller de Lojas
Criando o Modelo de Clientes
Criando as Rotas para Clientes
Criando metodos do Controller para Administradores
Criando metodos do Controller para Clientes
Criando as Validações
Testando o Módulo de Clientes e Finalizando
Criando Modelo
Criando Rotas
Criando Controller
Criando Validações
Fazendo Testes no Módulo e Finalizando
Criando modelo
Criando rotas
Criando Controller para Administradores
Criando Controller para Cliente/Visitantes
Criando validações
Fazendo as atualizações de produtos em categorias
Testando e Finalizando módulo
Criando Modelo
Criando rotas
Criando Controllers para Administrador e Cliente
Fazendo as validações com Joi
Testando todo o módulo e Finalizando
Criando modelo
Criando e preparando as rotas
Desenvolvendo o Controller para Administrador e Clientes
Desenvolvendo as validações automatizadas
Testando todo o módulo e Finalizando
Introdução
Criando o Modelo de Pedidos
Criando as rotas para Pedidos
Criando Modelos de Pagamento e Entrega
Criando o Controller para Administradores
Criando o Controller para Clientes/Visitantes
Atualizando e Corrigindo as rotas e controllers de Clientes com Pedidos
Criando as validações para Pedidos
Testando todo o módulo de Pedidos
(Extra) Criando modelo e funcionalidades para Registros de Pedidos
Integração com Correios e Testes
Criando Rotas para módulo de Entrega
Criando Controller para Entrega
Criando Validações com Joi
Testando todo o módulo
Criando a validação de valor de Entrega para novos pedidos
Testando a validação de valor de Entrega para novos pedidos
Preparando arquivos e funções para Integração
Criando arquivo de configuração para Integração
Desenvolvendo a Integração completa com PagSeguro
Atualizando Modelos de Pagamento e Entrega
Atualizando os Controllers e Validações para Pedidos
Criando rotas para Pagamentos
Criando Controller de Pagamentos
Criando Validações para Pagamento e atualizando validações no Controller de Pedidos
Criando a View para gerar tokens de teste
Testando o módulo de Pagamento (1/2) - Criando três pedidos para teste
Testando o módulo de Pagamento (2/2) - Testando todas as rotas e modos de pagamento
(Extra) API - Testando
(Extra) API - Finalizando e colocando Online
Finalizando a API
Introdução
Criando Controller para Notificações por Email e Atualizando Funcionalidades
Criando Mensagens para Notificações
Testando Módulo
Introdução ao Módulo
Criando Validações e Atualizando Modelo
Criando Funcionalidades e Integrando com Controllers
Testando Módulo
Introdução
Fazendo o Setup e instalando as dependências
Definindo menus e tópicos
Como será a Dashboard?
Instalando o Redux e Preparando Pastas
Instalando o sistema de Rotas e Criando o primeiro Container e Componente
O que é HOC e criando a base dos menus da Dashboard
Criando estrutura dos menus da Dashboard
Criando o menu da Dashboard (1/2)
Criando o menu da Dashboard (2/2)
Finalizando tela de Pedidos (1/3)
Finalizando tela de Pedidos (2/3)
Finalizando tela de Pedidos (3/3)
Tela de Login - Preparando a Base e Definindo Componentes (1/2)
Tela de Login - Criando os Componentes // Inputs e Botões (2/2)
Tela de Recuperar e Redefinir Senha - Criando estrutura e configuração
Tela de Detalhes do Pedido - Criando estrutura base e Detalhes do Pedido (1/6)
Tela de Detalhes do Pedido - Finalizando a parte dos Dados do Pedido (2/6)
Tela de Detalhes do Pedido - Criando a estrutura para detalhes/status do pagamento (3/6)
Tela de Detalhes do Pedido -Finalizando o componente de detalhes/status do pagamento (4/6)
Tela de Detalhes do Pedido - Criando a estrutura para detalhes/status da entrega (5/6)
Tela de Detalhes do Pedido - Finalizando a estrutura para detalhes/status da entrega (6/6)
Definindo o Estilo para a Dashboard - Introdução (1/6)
Definindo o Estilo para a Dashboard - Menus e Estrutura Geral (2/6)
Definindo o Estilo para a Dashboard - Componentes da Página de Pedidos (3/6)
Definindo o Estilo para a Dashboard - Componentes da Página de Detalhes de Pedidos (4/6)
Definindo o Estilo para a Dashboard - Componentes da Página de Detalhes de Pedidos (5/6)
Definindo o Estilo para a Dashboard - Componentes da Página de Login e Recuperar Senha (6/6)
Clientes - Criando estrutura da página de Clientes
Clientes - Criando estrutura da página de Detalhes do Cliente (1/2)
Clientes - Criando estrutura da página de Detalhes do Cliente (2/2)
Categorias - Criando estrutura da página de Categorias
Categorias - Criando estrutura da página de Detalhes da Categoria (1/2)
Categorias - Criando estrutura da página de Detalhes da Categoria (2/2)
Produtos - Criando página de Produtos
Produtos - Preparando a base para a Página de Detalhes do Produto
Produtos - Criando a Página de Detalhes do Produto (1/4)
Produtos - Criando a Página de Detalhes do Produto (2/4)
Produtos - Criando a Página de Detalhes do Produto (3/4)
Produtos - Criando a Página de Detalhes do Produto (4/4)
Avaliações - Criando páginas de Avaliações e de Detalhes da Avaliação
Configurações da Loja - Criando página de configurações da loja
Página de Perfil - Criando a estrutura da página de Perfil
Finalizando Correções no Estilo e Visualizando o que foi feito até agora
Introdução
Definindo Base e Primeira Requisição
Fazendo Login com LocalStorage
Corrigindo erros na Dashboard
Login com Sucesso: Autenticação de Rotas
Login: Validando o formulário
Login com Erro: Criando Error Handling (1/2)
Login com Erro: Criando Error Handling (2/2)
Pedidos - Criando a Listagem e Paginação
Pedidos - Criando a parte de pesquisa
Detalhes do Pedido - Criando actions e reducers
Detalhes do Pedido - Preparando o componente de Voltar e ativando actions
Detalhes do Pedido - Colocando dados dinâmicos
Detalhes do Pedido - Ativando botão de Cancelar
Detalhes do Pedido - Colocando detalhes do pagamento e entrega
Clientes - Iniciando configuração com actions e reducer
Clientes - Terminando lista de pesquisa e paginação
Detalhes do Cliente - Preparando actions reducer e configurações
Detalhes do Cliente - Preparando arquivo index
Detalhes do Cliente - Criando parte de detalhes do cliente
Detalhes do Cliente - Criando parte de lista de pedidos do cliente
Categorias - Preparando página de Categorias e botão Novo
Categorias - Criando página de Nova Categoria
Detalhes da Categorias - Correção na API
Detalhes da Categorias - Configuração das actions e reducer
Detalhes da Categoria - Configuração inicial do index
Detalhes da Categoria - Implementando actions e configurações (1/2)
Detalhes da Categoria - Implementando actions e configurações (2/2)
Detalhes da Categoria - Criando Lista de Produtos
Produtos - Correção na API
Produtos - Preparando actions e reducer
Produtos - Criando Lista de Produtos
Produtos - Preparando base para novo Produto
Produtos - Criando página de Novo Produto (1/2)
Produtos - Criando página de Novo Produto (2/2)
Detalhes do Produto - Correção na API
Detalhes do Produto - Preparando actions e reducer
Detalhes do Produto - Configurando parte de Detalhes do Produto (1/2)
Detalhes do Produto - Configurando parte de Detalhes do Produto (2/2)
Variações - Atualizar API para fotos
Variações - Preparando base para nova variação
Variações - Criando lista de variações
Variações - Criando página de nova variação (1/2)
Variações - Criando página de nova variação (2/2)
Detalhes da Variação - Fazendo integração da página (1/2)
Detalhes da Variação - Fazendo integração da página (2/2)
Detalhes da Variação - Corrigindo erros de integração (1/2)
Detalhes da Variação - Corrigindo erros de integração (2/2)
Avaliações
Detalhes da Avaliação
Configurações
Perfil
Finalizando e Criando Build final
Em desenvolvimento
Table of Contents
Obviamente, nenhum modelo atenderá a todos os projetos, pois suas necessidades podem ser diferentes. Portanto, estarei adicionando mais em um futuro próximo. Você também pode sugerir alterações bifurcando este repositório e criando uma solicitação pull ou abrindo um problema. Obrigado a todas as pessoas que contribuíram para expandir este modelo!
Instalação do NodeJS https://nodejs.org/en/
Instalação do Mongodb
https://www.mongodb.com/try/download/community
Acessar a pasta
C:\Program Files\MongoDB\Server\4.4\bin
criar variáveis de ambiente
Testar o banco de dados
Ter acesso a todos os pedidos feitos dentro da loja Conseguir alterar o status de pedidos e avisar os clientes dessa alteração pelo e-mail Conseguir colocar o código de rastreamento do pedido do cliente Conseguir cancelar o pedido do cliente e avisar os clientes dessa alteração pelo e-mail Ter acesso a todos os clientes que já pediram na loja Pesquisar por nome ou telefone na listagem de clientes Conseguir alterar os dados ou remover um cliente da loja Ter acesso a todos os pedidos feitos por um cliente especifico Ter acesso a uma lista com todos os produtos que estão disponíveis e indisponíveis também Conseguir alterar os dados de um produto – disponibilidade, preço, detalhes e variações Conseguir adicionar fotos para um produto especifico Conseguir excluir produtos do sistema Ter acesso a uma lista com todas as categorias que estão disponíveis e indisponíveis também Conseguir alterar os dados de uma categoria, deixar indisponível e excluir a categoria Ter acesso a uma lista com as variações de um determinado produto Conseguir deixar indisponível determinada variação Conseguir enviar fotos exclusivas para uma variação Conseguir alterar os dados da variação – colocar desconto, alterar preço base Ter acesso a uma lista com todas as avaliações de um determinado produto Conseguir excluir as avaliações Conseguir alterar os próprios dados de usuário Curso de Ecommerce com NodeJS e React Conseguir fazer login como administrador no site Conseguir recuperar a senha do seu cadastro direto pelo e-mail Conseguir alterar os dados relacionados a loja Alterar dados de telefone, alterar e-mail e endereço
Consegue deixar avaliações em produtos Fechar um pedido completo com meio de pagamento Realizar o pagamento diretamente pela loja Utilizando cartão de credito ou boleto Ver todos os pedidos que fez no seu nome Ver os detalhes de um pedido feito – pagamento, entrega, dados da loja Conseguir cancelar o seu pedido Alterar seus dados pessoais e de entrega online
Ver todas as categorias disponíveis no site Ver todos os produtos de uma determinada categoria Ver todos os detalhes de um determinado produto Ver cada variação disponível para determinado produto Ver avaliações deixadas para produto selecionado Ver valores e descontos para cada produto na listagem Conseguir pesquisar um produto pelo nome, descrição ou categoria Ver uma lista com vários produtos sortidos Conseguir alterar a ordem dos produtos – ordem alfabética, ordem de preço, ordem aleatória Conseguir calcular o valor de entrega de determinado produto e do carrinho completo Conseguir também se cadastrar no sistema – fazer login, se cadastrar Ver as paginas institucionais da loja
Inserir imagem de modelagem
Com a instalação do comando abaixo conseguimos instalar todos os pacotes, Iniciar o PowerShell como administrador e executar
npm install --global --production windows-build-tools
npm init
npm install --save [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]
Criando Views para recuperar senha:
Acessando o banco de dados mongodb:
Criando o usuário para acessar o sistema:
Gerando o Token através do login:
Testando erros no formulário de login: Erro do password Erro do email
Acessando o bando de dados e listando o usuário criado:
Your Name - @your_Facebook - [email protected]
Project Link: https://github.com/luispinheiro