BITBOX
COMPRANDO PRODUTOS COM CRIPTOMOEDAS
Projeto de integração da UTFPR, a Bitbox foi uma demonstração de como produtos
já conhecidos podem assimilar novas tecnologias de forma inovadora.
O que é a Bitbox?
A Bitbox é um protótipo de máquina de vendas automática, idealizada e
desenvolvida por mim juntamente aos meus colegas de equipe da UTFPR. Como entusiasta de criptomoedas,
decidi usá-las como meio de pagamento dentro do protótipo, o que eliminaria toda a necessidade de um
aparato mecânico de captura de cédulas e moedas para efetuar os pagamentos.
Como forma de interface com nosso usuário final desenvolvi aplicativo Android, trazendo mais uma camada
de transformação digital à nossa vending machine.
Arquitetura da Bitbox
O sistema da Bitbox é coordenado por um servidor central, que processa os pedidos de produto feitos pelo app, um sistema embarcado que coordena a parte eletrônica e reage aos pedidos enviados pelo servidor.
Aplicativo móvel
O app é a interface principal do sistema, e desenvolvê-lo foi uma boa oportunidade de testar novas arquiteturas e tecnologias.
Antes de iniciar o código, fiz um wireframe para estruturar os requisitos do
app, e também trazer à tona
todas as requisições que o aplicativo precisaria fazer para comunicação com o servidor, e isso foi
essencial para o mapeamento dos endpoints e modelagem do banco de dados.
O aplicativo da Bitbox foi implementado em Kotlin, para dispositivos Android. Desenvolvi o aplicativo seguindo a Clean Architecture, e discorro um pouco mais sobre a arquitetura neste post.
Algumas das bibliotecas usadas foram:
- Dagger2 para injeção de dependências
- Retrofit2 para realizar a comunicação com o servidor
- RxJava para programação reativa
- Componentes do Android Jetpack para implementação da Clean Architecture
Bitbox em funcionamento
Neste vídeo o Akira Gondo explica em mais detalhes sobre como a Bitbox foi desenvolvida, e também é possível ver ela em funcionamento com todos os componentes integrados: