Git Product home page Git Product logo

mrrioja / myshop-ignite Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 11.9 MB

O MyShop é um app de lista de compras e gerenciamento de comprovantes de pagamento criado com React Native, Firebase e Typescript.

License: MIT License

TypeScript 60.65% Starlark 4.69% Java 18.99% JavaScript 2.52% Ruby 3.66% Objective-C 9.32% Shell 0.17%
firebase ignite-react-native myshop myshopapp react-native rocketseat

myshop-ignite's Introduction

MyShop - Ignite

GitHub top language GitHub last commit

SobreMyShopInstalaçãoTecnologiasAutor

Sobre

Projeto desenvolvido durante o bootcamp Ignite da Rocketseat na trilha de React Native. O app foi proposto durante o módulo de fundamentos do Firebase no React Native.

MyShop

O MyShop é um app de lista de compras e gerenciamento de comprovantes de pagamento criado com React Native, Firebase e Typescript.

O app possui funcionalidades para suprir necessidades de gerenciar dois tipos de dados:

  • Lista de produtos a serem comprados.
  • Comprovantes de pagamentos.

Para isso o app conta com algumas funcionalidades interessantes as quais serão apresentadas a seguir.

Ao acessar o app o usuário será direcionado para a tela de login, onde poderá:

  • Realizar login com seu e-mail e senha.
  • Alterar sua senha:
    • Para isso basta ele digitar o e-mail no input de e-mail e clicar em Recuperar senha.
  • Cadastrar-se na aplicação:
    • Para isso basta informar e-mail e senha nos respectivos campos e clicar no botão Criar minha conta.

Sabendo disso, deixo um screenshot das telas que pertencem ao fluxo de autenticação explicado acima e alguns alertas dados ao usuário dentro desse fluxo:

Tela de Login Alerta e-mail duplicado Alerta recuperação de senha Alerta cadastro realizado
Tela de login Alerta de e-mail já cadastrado Alerta de envio de e-mail para alteração de senha Alerta de criação de usuário bem sucedida

Após realizar login com sucesso, o usuário é direcionado para a home do aplicativo aonde poderá visualizar os itens cadastrados na sua lista de compras, cadastrar novos ou navegar para outras funcionalidades do app clicando nas opções presentes no menu inferior.

Para cadastrar um item basta informar o nome do produto e a quantidade à ser comprada e clicar no botão verde. Com isso o item já estará na lista e o usuário já poderá gerencia-lo ou adicionar novos itens. Na lista de itens, cada um deles possui dois botões no canto direito, onde:

  • Botão verde dá o item como comprando.
    • Com isso o item receberá um risco indicando que a quantidade previamente cadastrada já foi comprada.
    • Após o clique o ícone do botão irá mudar para indicar que a ação é reversível e o usuário pode reverter a sinalização de compra a qualquer momento.
  • Botão vermelho remove o item da lista.
Lista de itens Lista de itens com itens comprados
Lista de itens Lista de itens com itens comprados

Agora que conhecemos a aba Produtos, vamos conhecer a aba seguinte: Comprovantes. Seu objetivo é centralizar e tornar acessíveis os comprovantes de compras cadastrados pelo usuário para eventuais consultas. Nessa tela teremos as funcionalidades:

  • Listagem de comprovantes cadastrados.
  • Visualização de um comprovante.
    • Disponível através do clique no botão verde na parte direita do card dos comprovantes.
  • Exclusão de um comprovante.
    • Disponível através do clique no botão vermelho na parte direita do card dos comprovantes.

Para ilustrar cada uma dessas atividades deixo abaixo screenshots dessa parte da aplicação:

Tela de comprovantes (vazia) Tela de comprovantes Visualização do comprovante Exclusão de um comprovante
Tela de comprovantes (vazia) Tela de comprovantes Visualização do comprovante Exclusão de um comprovante

Agora que conhecemos a aba de comprovantes vamos a ultima aba da aplicação: Upload. Como o próprio nome sugere, é nessa página que o cadastro dos comprovantes ocorre. Aqui o fluxo é tão simples quanto:

  1. Clicar no quadro pontilhado.
  2. Selecionar a imagem do comprovante desejado.
  3. Clicar no botão verde para fazer upload do comprovante.
Tela de upload Comprovante selecionado Mensagem upload concluído Upload Finalizado
Tela de upload Comprovante selecionado Mensagem upload concluído Upload Finalizado

Afim de ilustrar tudo que foi explicado até aqui, deixo o GIF abaixo onde navego por toda a aplicação com o intuito de mostrar a aplicação em funcionamento:

Demonstração do app

Instalação

Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git e Node.js. Além disso é bom ter um editor para trabalhar com o código como VSCode.

📱 Rodando o App (Mobile)

# Clone este repositório
$ git clone [email protected]:MrRioja/myShop-ignite.git

# Acesse a pasta do projeto no terminal/cmd
$ cd myShop-ignite

# Instale as dependências
$ npm install
# Caso prefira usar o Yarn execute o comando abaixo
$ yarn

# Execute o bundle
$ npm run start
# Caso prefira usar o Yarn execute o comando abaixo
$ yarn start

# Abra o app no emulador android ou iOS
$ npm run [android | ios]
# Caso prefira usar o Yarn execute o comando abaixo
$ yarn [android | ios]

Tecnologias

My Skills

Autor

Luiz Rioja

Backend Developer

LinkedIn GitHub Gmail WhatsApp Skype

myshop-ignite's People

Contributors

mrrioja avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.