Skip to content

Nandolinhares/crypto-wallet

Repository files navigation

Crypto-wallet

image

Video demonstrativo

https://www.youtube.com/watch?v=Y6ndFFfzAjo

Executar

Para acessar a Crypto Wallet basta seguir os passos abaixo

Acessar Local

git clone https://github.com/Nandolinhares/crypto-wallet.git

cd crypto-wallet

yarn install

yarn start

A aplicação vai estar rodando em: http://localhost:8080

Bem Vindos a Crypto Wallet

Olá, meu nome é Fernando e venho apresentar a minha solução para o desafio proposto. A Crypto Wallet permite ao usuário, comprar e vender tanto bitcoins quanto britas. Além disso, permite realizar as transações entre bitcoins e britas. Por fim, o usuário ainda pode visualizar o extrato de todas suas transações finenceiras

Funcionalidades

  • O usuário pode fazer login ou se cadastrar na aplicação. Ambas as páginas possui validações.

  • Todos os dados do usuário são salvos no localstorage

  • O usuário pode comprar e vender bitcoins

  • O usuário pode comprar e vender britas

  • O usuário pode negociar bitcoins e britas. Trocar bitcoins por britas ou britas por bitcoins

  • O usuário pode visualizar seu extrato financeiro

Arquitetura

O projeto possui uma arquitetura desacoplada, onde o foco é reaproveitar funcionalidades e facilitar o crescimento, manutenção ou troca de framework frontend caso u dia seja necessário. EEsta arquitetura é dividida em camadas: Domain, Data, Infra, Main e Presentation.

  • Domain: Camada responsável por conter as abstrações do projeto. As interfaces dos casos de uso, os modelos principais e os erros criados.
  • Data: Camada responsável por conter as classes que implementam as interfaces construídas no Domain, a definição das interfaces de protocolos http, entre outros.
  • Infra: Camada responsável por conter as ferramentas, classes que vão implementar as interfaces dos protocolos. Por exemplo: Axios, localStorage, que foram usados no projeto.
  • Main: Camadas responsável por ser o ponto de entrada do React, contendo o index.tsx e contem os factories usados no React.
  • Presentatiom: Camada responsável exclusivamente para o framework, no caso o React. Dentro dela estão os componentes, as pages, router e tudo mais.

Testes Unitários

Para executar o teste completo da aplicação, basta digitar:

yarn test:ci

Testes de Integração

Para executar os testes de integração basta digitar no terminal:

yarn cypress

image

Depois disso basta clicar e executar ambos os testes como eu mostro no vídeo de apresentação

Storybook

Para acessar o storybook contenbto os componentes sepradamente: https://604d069b9fac2a0021f2247d-ceutrkhtzl.chromatic.com/?path=/story/example-introduction--page

Integração contínua

O Bitcoin Wallet foi aplicado integração contínua com o Chromatic usando o Github Actions https://www.chromatic.com/builds?appId=604d069b9fac2a0021f2247d

E também foi usado o Travis CI para integrar o projeto com o coveralls https://coveralls.io/github/Nandolinhares/crypto-wallet

Perfil

image

Home

image

Extrato

image

Login

image

Cadastro

image

About

An amazing crypto wallet to have fun

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published