O repositório Saleor-Storefront está DEPRECATED
Decidimos construir uma nova fachada de loja a partir do zero, sem design sofisticado, concentrando -se apenas nas melhores práticas para a construção de fachadas de lojas de comércio. O novo projeto, chamado React-Storefront, usa o Next.js como sua base e o Tailwind para a aparência. Você pode encontrá-lo aqui: https://github.com/saleor/react-storefront.
Saleor Storefront

Nota: Este projeto é uma demonstração sobre como o Saleor pode ser usado. Não está pronto para ser iniciante, mas mostrar como diferentes casos podem ser tratados e podem ser usados como um livro de receitas. Haverá mudanças de quebra e o código está em constante evolução, portanto, use por sua conta e risco.
Uma loja de aplicativos PWA, de uma página única, movida a graphQL, para Saleor.
Características
- A loja de comércio eletrônico sem cabeça criada com grafql, cliente Apollo, React, Next.js e TypeScript
- Modo offline (beta)
- Saleor GraphQL API Integration
- Experiência de aplicação de uma página
- Integração de gateway de pagamento Braintree
Demonstração
Veja a demonstração pública da Saleor Storefront!
Ou inicie a demonstração em uma instância do Heroku gratuito.
Começando
Essas instruções fornecerão uma cópia do projeto em funcionamento em sua máquina local para fins de desenvolvimento e teste.
Pré -requisitos
- Node.js 14.16
- Uma instância de corrida de Saleor.
Para executar o Storefront, você deve definir a variável de ambiente NEXT_PUBLIC_API_URI para apontar para a API Saleor Graphql. Se você estiver executando a venda localmente, com as configurações padrão, NEXT_PUBLIC_API_URI será definido como: http://localhost:8000/graphql/ . Para alterá -lo, crie um arquivo .env.local e adicione -o lá ou defina uma variável Env usando o comando export .
Instalação
Clone o repositório:
git clone https://github.com/mirumee/saleor-storefront.git
Digite o diretório do projeto:
Usando liberação estável
Para usar o lançamento estável oficial, check -out para uma tag de liberação:
Veja a lista de todos os lançamentos aqui: https://github.com/mirumee/saleor-storefront/releases/
Usando a versão de desenvolvimento
Se você deseja usar a versão mais recente de desenvolvimento, faça o check -out para a filial master :
Instale as dependências da NPM:
Execute o servidor de desenvolvimento:
Vá para http://localhost:3000 para acessar a loja da loja.
Construir
Para compilar a execução do aplicativo:
Para compilar o aplicativo e exportar a fúria da loja para a execução estática HTML:
Para compilar o aplicativo e executá -lo no modo de produção com o próximo servidor Run:
Para ativar a Apollo Devtools na versão de produção, defina a variável ambiental
NEXT_PUBLIC_ENABLE_APOLLO_DEVTOOLS=true
Testes de cipreste
Se você deseja executar os testes do Cypress, verifique se todas as dependências (incluindo Cypress ) estão instaladas executando o comando Install.
As variáveis de ambiente a seguir devem ser definidas para poder executar testes corretamente:
-
API_URI - endereço API do GraphQL. -
STATIC_URL - URL de destino de arquivos estáticos, por exemplo. S3 Bucket -
CYPRESS_USER_NAME - nome de usuário (email) para o usuário Storefront . -
CYPRESS_USER_PASSWORD - para o usuário mencionado acima.
Se você estiver executando a loja da perspectiva do contêiner Docker , poderá executar testes usando os seguintes comandos:
Modo sem cabeça:
Modo de interface do usuário do Cypress:
Se você deseja executar testes em relação ao seu ambiente de desenvolvimento local, use os seguintes comandos:
Modo sem cabeça:
Modo de interface do usuário do Cypress:
Criando novos componentes
Todos os novos componentes devem seguir as diretrizes de design atômico e ser colocadas no diretório src/@next/components .
A estrutura de arquivos pode ser gerada usando plop :
Modificando a loja da loja
Da postagem do espectro
Arquivos importantes
- Saleor -storefront/config/next/config.base.js - Base Next.js Config Arquivo que contém ajustes personalizados do WebPack.
- Pode alterar o nome do aplicativo (exibido quando instalado no celular)
- Saleor -storefront/src/páginas/ app .tsx - arquivo de ponto de entrada principal. Render é o componente, Apollo-Client e outros para a DIV root no arquivo index.html acima. Contém também a seção principal - você pode alterar o título da Storefront aqui.
- Saleor -storefront/src/core/config.ts - controla o número de produtos mostrados por página, suporte a email, provedores de gateway, mídia social e alguns meta.
- Pode alterar o e -mail de suporte
- Pode alterar os produtos mostrados por página
- Pode mudar os provedores de gateway
- Pode mudar os links de mídia social que são exibidos no rodapé
- Pode mudar algumas opções de meta
- Saleor -storefront/src/imagens/ - mantém todas as imagens para logotipo, carrinho, favicon, etc.
- Pode alterar o logotipo da loja, o Favicon ou adicionar novas imagens aqui.
- Saleor -storefront/src/globalstyles/scss/variables.scss - contém estilos de base, como cores, tamanho da fonte, largura do contêiner, pontos de interrupção da mídia e muito mais.
- Saleor -storefront/src/@next/globalstyles/ - contém mais estilos, temas, mídias e constantes.
- Saleor -storefront/src/views/ - Esta pasta controla as vistas ou o que é exibido para cada página. A maioria das visualizações possui um arquivo chamado "Page.tsx" que controla o layout da página e um arquivo chamado "View.tsx" que chama a consulta e renderiza o componente com os dados.
- Pode adicionar outra visão à loja da loja aqui. Requer adicionar uma rota (veja as rotas abaixo).
- Saleor -storefront/src/@next/páginas/ - segundo ponto para modificar/adicionar páginas diferentes. Este é o diretório recomendado para adicionar novas páginas.
- Saleor -storefront/src/paths.ts - Esta pasta contém todos os caminhos. Aqui é onde você adiciona um novo.
- Saleor -storefront/src/páginas/ - Esta pasta contém arquivos que são traduzidos para o próximo.js roteamento. Aqui é onde você adiciona uma nova rota.
- Exportar um novo caminho em caminhos.
- Páginas internas, crie um novo arquivo com o nome Correnspond para a rota desejada (leia mais aqui sobre rotas aninhadas). Importe sua visualização na extremidade do arquivo de rota criada exportá -la como uma exportação padrão.
- Para vincular ao seu novo
import Link from "next/link" e use o novo caminho que você criou no Paths.ts (certifique -se de importá -lo)
- Saleor -storefront/src/app/app.tsx - Este é o principal componente que renderiza o (explicado abaixo) e alguns outros componentes.
Adicionando um gateway de pagamento
- Saleor -storefront/src/core/config.ts - Adicione o nome do novo provedor de gateway aqui.
- Saleor -storefront/src/@next/components/organismos/ - crie uma nova pasta para o novo componente de gateway de pagamento aqui.
- saleor-torefront/src/@next/components/organisms/paymentgatewayslist/paymentgatewayslist.tsx - importe o novo componente do gateway, crie um novo estojo para lidar com seu componente de gateway.
Recebendo e -mails de confirmação
- Defina email_url Ambiente Variável para Saleor Core.
- Usando Docker - Adicione email_url como nova variável de ambiente à API e Serviço de Trabalhador seguindo o formato aqui.
- Problemas em funcionar e -mails funcionando?
- Gmail
- Verifique se "Acesso de aplicativo menos seguro" está ativado. Em "Gerenciar sua conta do Google"> Vá para a guia Segurança. Por padrão, a configuração está desativada por motivos de segurança.
- Se estiver usando o 2FA, defina uma senha de aplicativo e use -a no lugar da sua senha de login normal.
Multicanal
- SET [SALEOR_CHANNEL_SLUG] Variável de ambiente. - Valor padrão:
default-channel .
Licença
Este projeto está licenciado sob a licença BSD-3-cláusula-consulte o arquivo de licença para obter detalhes
Criado com ❤️ by Saleor Commerce
[email protected]