Este é um aplicativo que apresenta uma solução completa para tratamento de QR codes, onde é possível o usuário, ler, criar, e importar uma foto de sua galeria que contenha um QR code e a aplicação fará a leitura. Além de conseguir acessar todos os QR codes que já leu, criou e importou, o usuário ainda pode compartilhar esse QR code em formato PNG.
Essas instruções permitirão que você obtenha uma cópia do projeto em operação na sua máquina local para fins de desenvolvimento e teste.
De que coisas você precisa para instalar o software e como instalá-lo? Versão do FLutter:
Flutter 3.13.8
Versão do Dart:
Dart 3.1.4
Se preferir temos o aplicativo já na PlayStore
ou
Faça um clone do repositório, certifique-se que está com a versão do Dart e do Flutter correspondentes a do app em sua máquina.
Em uma IDE de sua preferência abra o projeto, vá até o arquivo main
contido na lib
do projeto, e execute.
Esta aplicação possui:
- Testes Unitários
- Testes de Widgets
- Testes de Integração
Estes testes farão a verificação unitária de cada funçao relevante para testes do desejado, basta executar os seguintes comandos:
flutter test /test/unit_tests/create_qr_unit_test.dart
flutter test /test/unit_tests/read_qr_unit_test.dart
flutter test /test/unit_tests/qr_code_image_unit_test.dart
Estes testes farão a verificação da integração de cada módulo, mais especificamente as funções que integram a interface do App ao banco de dados local, basta executar os seguintes comandos:
flutter test /test/integration_tests/create_qr_integration_test.dart
flutter test /test/integration_tests/read_qr_unit_test.dart
flutter test /test/integration_tests/qr_code_image_unit_test.dart
Estes testes farão a verificação dos componentes da tela de cada módulo, para verificar basta executar os seguintes comandos:
flutter test /test/widget_tests/create_qr_widget_test.dart
flutter test /test/widget_tests/read_qr_page_widget_test.dart
flutter test /test/widget_tests/insert_image_page_widget_test.dart
- Dart - Linguagem utilizada
- Flutter - Framework Utilizado
- Sqflite -Library para Armazenamento local dos Qr Codes
- Get_it - Library Gerente de Dependência
- Mobx - Library para gestão de estado
Não pretendo trazer mais funcionalidades para o app, dado que a ideia inicial foi fazer dele uma solução simples para o tratamento de Qr Codes, sendo assim meu plano é futuramente implementar testes automatizados á aplicação e também adicionar anúncios do Google com o AdMob.
*Este projeto foi desafiador, e me surpreendeu como uma solução relativamente simples, pode abrigar um leque de opções tão complexas desde a implementação dos testes, até a publicação do app na loja, a cada tomada de decisão sobre o desfecho da aplicação, pude perceber o quanto me desenvolvi como programador, e estou realmente satisfeito com o resultado final.