Aplicativo de comércio eletrônico móvel de código aberto da pilha completa feita com MongoDB, Express, React Native e NodeJS
- Configuração e configuração
- Principais recursos
- Tecnologias usadas
- Frontend (móvel)
- Back -end
- Banco de dados
- ? Mockups
- ? Vídeo do projeto
- Autor
- Licença
Configuração e configuração
Para executar este projeto localmente, basta forçar e clonar o repositório ou baixar como zip e descompactação em sua máquina.
- Abra o projeto em seu editor de código preferido.
- Vá para o Terminal -> Novo Terminal (se você estiver usando o código VS)
- Primeiro, você precisa executar o servidor ngrok. Este servidor não deve ser desligado para o trabalho do projeto
- Em seguida, abra um terminal diferente. Divida seu terminal pela metade (execute o servidor em um terminal e cliente na outra)
O NGROK é um software que nos permite abrir nossos aplicativos que executamos em localhost em nosso próprio computador, sobre a nuvem, sob o subdomínio xxx.ngrok.io. Configuração do NGrok.
1- para expor o servidor usando ngrok;
- Em seguida, copie o URL NGROK no servidor que está sendo executado
- Cliente de CD e paste ngrok_url in .env em ./client
- Agora a conexão com o cliente é garantida
NGROK_URL = "http://_______.ngrok.io"
2- em um terminal diferente;
Na primeira metade do terminal
$ cd Client
$ npm install (to install client-side dependencies)
$ expo r -c
Na segunda metade do terminal
- Servidor de CD e defina variáveis de ambiente em config.env em ./config/env
- Crie seu URL de conexão MongoDB, que você usará como seu Mongo_uri
- Fornecer as seguintes credenciais
# --- Config.env ---
NODE_ENV = development
PORT =5000
MONGO_URI =
JWT_SECRET_KEY =
# --- Terminal ---
$ npm install (to install server-side dependencies)
$ npm start (to start the server)
Principais recursos
- ✔️ Registro e login do usuário
- ✔️ Autenticação usando tokens JWT
- ✔️ favorito, comente e adicione produtos ao carrinho
- ✔️ Selecione produtos de acordo com informações de cor e tamanho e adicione -os ao carrinho
- ✔️ Mostrando os produtos mais recentes que você analisou e recomendações semelhantes de produto
- ✔️ Categorias de produtos Página e exibição de subcategorias
- ✔️ Pesquisar produtos por nome, marca e categoria
- ✔️ Aumente, diminua ou exclua a quantidade de cada item no carrinho
- ✔️ Receber pedidos selecionando endereço de entrega e cartão bancário
- ✔️ Página de detalhes mostrando todos os pedidos feitos e o status mais recente dos produtos (tempo de envio, data de entrega) para cada pedido
- ✔️ e -mail e senha de alteração de páginas
- ✔️ Atenção foi dada ao manuseio de erros
- Esqueceu a página de senha e a redefinição de senha
- Adicionando fotos aos comentários
- Faça login com a conta do Google
- Criando uma página personalizada para cada marca
- Adição de sistema de pagamento (listra)
- Às vezes, os pedidos são processados lentamente e causam problemas quando são demitidos ao mesmo tempo (a arquitetura de microsserviços poderia ser a solução ?.)
Tecnologias usadas
Este projeto foi criado usando as seguintes tecnologias.
Frontend (móvel)
- React JS - Biblioteca JavaScript que é usada para criar interfaces de usuário especificamente para aplicativos de página única
- React Hooks - para gerenciar e centralizar o estado de aplicação
- React Native - uma estrutura de desenvolvimento de aplicativos móveis de plataforma cruzada
- REACTAÇÃO DE NAVEGIAÇÃO V6 - ROTEGING E NAVUGATION PARA EXPO E REACH APPS NATIVOS
- Axios - para fazer chamadas de API
- React-native-bouncy-checkbox
7.2.1 - React-native-elem-textinput
2.2.0 - React-nativo-gesto-fundo-folha
1.1.0 - React-nativo-indicadores
0.17.0 - React-native-modal
13.0.1 - React-native-pop-Menu
0.16.1 - React-nativo-progresso
5.0.0 - React-Native-Ratings
8.1.0 - React-native-segue-area-Context
4.4.1 - React-native-simple-Dialogs
1.5.0 - React-native-Step-Indicator
1.0.3 - React-native-message
2.1.6 - React-textarea-Autosize
2.1.6
Back -end
- Node JS - Um ambiente de tempo de execução para ajudar a criar aplicativos de servidor rápido usando JS
- Express JS -o servidor para lidar e rotear solicitações HTTP
- Mongoose - para modelar e mapear dados do MongoDB para JavaScript
- Express-async-Mandler-Middleware simples para lidar com exceções dentro das rotas assíncronas e passá-las para seus manipuladores expressos de erro
- JSONWEBTOKEN - para autenticação
- BCRYPTJS - Para criptografia de dados
- DOTENV - Módulo de dependência zero que carrega variáveis de ambiente
- Middleware Multer - Node.js para fazer upload de arquivos
- CORS - fornece um middleware de conexão/expresso
- uuid - para gerador de identificação aleatória
Banco de dados
- MongoDB - fornece um serviço de nuvem gratuito para armazenar coleções do MongoDB.
Mockups

















Autor
Github: @Muhammet-Yildiz
LinkedIn: @Muhammet-Yildiz
E -mail: [email protected]
Se você gosta do projeto, não se esqueça de dar estrela
Licença
Copyright 2023 Muhammet Yıldız
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Vídeo do projeto
Hizlisepet.mp4