Skip to content

Repositório da aplicação Zé Experience, contendo a aplicação mobile desenvolvida. Front-end e Back-end.

License

Notifications You must be signed in to change notification settings

gabrielvanderlei/ze-experience-react-native

Repository files navigation

Zé Experience

GitHub issues GitHub last commit NPM

Tabela de Conteúdo

Sobre o Projeto

O Zé Experience consiste em um conceito de aplicação desenvolvido utilizando como base o já existente Zé Delivery. O está sendo desenvolvido como solução ao problema proposto pela Ambev no Mega Hack 3.0. O README foi criado utilizando como base o projeto que pode ser acessado clicando aqui e editado no stackedit.io.

Visão Geral

Cliente

A Tela Inicial contém:

  • vídeos promocionais
  • sugestões de produtos para compra
  • sugestão de eventos.

A tela inicial deverá ser alterada de acordo com as conversas no chat. (só momento esta funcionalidade se baseia apenas nas perguntas iniciais do chatbot para traçar o perfil do cliente).

O ChatBot está desenvolvido com o fluxo que será utilizado pelo cliente:

  • Coleta de informação através do quiz.
  • Ajuda através da opção 'Me ajuda, Zé!'
  • Captura da localização do usuário em background e envio de notificação em caso de estar próximo a um estabelecimento parceiro.
  • Interação com estabelecimento parceiro e fluxo de pagamento.
  • Acesso ao Zé Club e opção de juntar amigos.

Os dados das mensagens apenas são enviados ao servidor após o usuário aceitar compartilhar informações. Os dados enviados são baseados no identificador do cliente gerado ao aceitar os termos e nas mensagens que ele escolher, com essas mensagens o administrador possui acesso a produtos escolhidos, opções mais utilizadas entre outras informações, sem prejudicar a privacidade do usuário.

Servidor

O Servidor da aplicação está online e hospedado no ip http://161.35.63.2/. O Kibana está on-line para acesso público para visualização do recebimento dos dados pelo sistema. Todo o código do servidor está na branch server.

Kibana dashboard recebendo dados

Mensagens recebidas no Kibana

Arquitetura do Servidor

O servidor está utilizando a runtime Node.js, com roteamento controlado pelo framework Express.js. Os dados são salvos em um banco de dados MongoDB, indexados em uma instância do servidor de buscas Elasticsearch e disponibilizados no sevidor Kibana. Todo o servidor está codificado na branch server no arquivo server/index.js .

Feito Com

Cliente

  • Expo - O Expo CLI é um aplicativo de linha de comando que é a principal interface entre um desenvolvedor e as ferramentas da Expo. Desenvolvendo seu aplicativo: executando o servidor do projeto, visualizando logs, abrindo seu aplicativo em um simulador.
  • React Native - O React Native é um framework que permite o desenvolvimento de aplicações mobile usando JavaScript e React;
  • React Navigation - O React Navigation surgiu da necessidade comunidade do React Native de uma navegação de forma fácil de se usar, e escrita toda em JavaScript;

Servidor

  • Node.js / npm - Node.js® é runtime JavaScript feito com a Chrome's V8 JavaScript engine.
  • Express.js - Framework web rápido, flexível e minimalista para Node.js
  • MongoDB - O MongoDB é um banco de dados distribuído, baseado em documentos e de propósito geral, criado para desenvolvedores de aplicativos modernos e para a era da nuvem.
  • Elasticsearch - O Elasticsearch é um mecanismo de busca e análise de dados distribuído e open source para todos os tipos de dados, incluindo textuais, numéricos, geoespaciais, estruturados e não estruturados.
  • Kibana - O Kibana é uma interface de usuário gratuita e aberta para você visualizar seus dados do Elasticsearch e navegar no Elastic Stack. Faça qualquer coisa, desde monitorar a carga de consultas até entender como as solicitações fluem pelos seus apps.

Pré-requisitos

Para utilizar o projeto você irá precisar de algumas ferramentas. O cliente pode ser utilizado sem o servidor, pois os dados são enviados apenas caso o usuário aceite a transmissão de dados, então o aplicativo permite esa

Instalação

Parar executar este projeto é necessário

  1. Ter o cli do expo instalado
npm install -g expo-cli
  1. Instalar dependências
npm install

ou

yarn add
  1. Executar expo
expo start

ou

yarn start

Aplicativo

Atualmente o aplicativo só é suportado em dispositivos Android. Baixar versão mais recente do apk

Tela inicial do app App recebendo notificações próximo a um estabelecimento próximo Tela inicial do app

Estrutura de Arquivos

A estrutura de arquivos está da seguinte maneira:

ze-experience-react-native-master/
┣ .expo-shared/
┃ ┗ assets.json
┣ assets/
┃ ┣ favicon.png
┃ ┣ icon.png
┃ ┗ splash.png
┣ src/
┃ ┣ images/
┃ ┃ ┗ ZeDelivery/
┃ ┃ ┃ ┣ cervejas/
┃ ┃ ┃ ┗ semAlcool/
┃ ┗ screens/
┃ ┃ ┣ ChatBot/
┃ ┃ ┃ ┣ components/
┃ ┃ ┃ ┃ ┣ Header/
┃ ┃ ┃ ┃ ┣ Bot.js
┃ ┃ ┃ ┃ ┗ steps.js
┃ ┃ ┃ ┣ index.js
┃ ┃ ┃ ┗ styles.js
┃ ┃ ┣ Home/
┃ ┃ ┃ ┣ EventCard.js
┃ ┃ ┃ ┣ index.js
┃ ┃ ┃ ┣ ProductCard.js
┃ ┃ ┃ ┣ products.js
┃ ┃ ┃ ┗ styles.js
┃ ┃ ┣ QrCode/
┃ ┃ ┃ ┣ index.js
┃ ┃ ┃ ┗ styles.js
┃ ┃ ┗ ZeClub/
┃ ┃ ┃ ┣ components/
┃ ┃ ┃ ┃ ┣ Achievement/
┃ ┃ ┃ ┃ ┗ History/
┃ ┃ ┃ ┣ index.js
┃ ┃ ┃ ┗ styles.js
┣ .gitignore
┣ App.js
┣ app.json
┣ babel.config.js
┣ LICENSE
┣ package-lock.json
┣ package.json
┣ README.md
┗ yarn.lock

Contribuição

Contribuições são o que fazem a comunidade open source um lugar incrível para aprender, inspirar e criar. Qualquer contribuição que você fizer será muito apreciada.

  1. Faça um Fork do projeto
  2. Crie uma Branch para sua Feature (git checkout -b feat/FeatureIncrivel)
  3. Adicione suas mudanças (git add .)
  4. Comite suas mudanças (git commit -m 'Adicionando uma Feature incrível!)
  5. Faça o Push da Branch (git push origin feat/FeatureIncrivel)
  6. Abra um Pull Request

Licença

Distribuído sob a licença MIT. Veja LICENSE para mais informações.

Contato

Gabriel Vanderlei - Github - dev@gabrielvanderlei.com

Samuel Simões - Github

José Vitor - Github

Ian Karlo - Github

Gustavo Nascimento - Github

About

Repositório da aplicação Zé Experience, contendo a aplicação mobile desenvolvida. Front-end e Back-end.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •