https://www.youtube.com/watch?v=Y6ndFFfzAjo
Para acessar a Crypto Wallet basta seguir os passos abaixo
A aplicação vai estar rodando em: http://localhost:8080
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
-
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
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.
Para executar o teste completo da aplicação, basta digitar:
Para executar os testes de integração basta digitar no terminal:
Depois disso basta clicar e executar ambos os testes como eu mostro no vídeo de apresentação
Para acessar o storybook contenbto os componentes sepradamente: https://604d069b9fac2a0021f2247d-ceutrkhtzl.chromatic.com/?path=/story/example-introduction--page
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