Repositório para o desafio de desenovlvimento de um aplicativo mobile para o PS do LabSec (Laboratório de Segurança em Computação)
Um ponto de partida para um aplicativo Flutter.
Alguns recursos para você começar se este for seu primeiro projeto Flutter:
Para obter ajuda para começar com o desenvolvimento do Flutter, veja o documentação online, que oferece tutoriais, amostras, orientação sobre desenvolvimento móvel e uma referência completa da API.
-
Desenvolver uma aplicação móvel (iOS ou Android) utilizando a ferramenta Flutter do Google, possuindo duas funcionalidades essenciais.
- [1] Listar dispositivos Bluetooth Low Energy (BLE) próximos.
- [2] Realizar operações criptográficas utilizando o algoritmo RSA: gerar um par de chaves RSA, assinar a lista de dispositivos usando a chave privada e verificar a assinatura gerada.
-
Foi sugerido o desenvolvimento de 6 telas:
- [1] Tela inicial que leva para as outras telas;
- [2] Tela de varredura dos dispositivos BLE;
- [3 e 4 ] Telas para gerenciamento de chave RSA;
- [5] Tela de assinatura digital; e
- [6] Tela de verificação da assinatura digital.
Tela 1 |
Tela 2 |
Tela 3 |
Tela 4 |
Tela 5 |
Antes de qualquer coisa, você precisa ter em sua máquina o flutter e o android-studio. Para isso, acesse e siga o tutorial de:
Se ao final do tutorial o seu
flutter doctor -v
não apresentar nenhum erro (ficar tudo verde), você está com sua máquina preparada para rodar projetos em flutter.
-
Para esse projeto siga as seguintes instruções:
- Crie um novo diretório em algum lugar de sua máquina com o nome que quiser (Opcional - apenas para organIzação)
- Dentro do diretório abra o bash;
- Clonee o repositório do projeto que esta no github com:
git clone [email protected]:theHprogrammer/LABSEC_FLUTTER_CHALLENGE.git
- Entre no projeto clonado (Se voce estiver com o terminal aberto, pode usar cd "nome-do-diretorio/" sem as aspas);
- Dentro do diretório clonado você terá duas opções:
1.1 No terminal execute "flutter pub get" para baixar as dependências.
1.2 Chame o comando "flutter run".
Se nenhum erro ocorrer o projeto será simulado no google-chrome como uma página web, já que por padrão o flutter o coloca como emulador inicial.
2.1 Abra o projeto clonado em uma IDE, recomendo o vscode.
2.2 Instale a Extensão do Flutter.
2.3 Aperte (Ctrl + Shift + p) e procure por Pub: Get Packages ou apenas abra o terminal diretamente pelo vscode e digite flutter pub get
2.4 Abra o arquivo main.dart dentro do diretório lib e aperte F5 ou Ctrl + F5 para emular o projeto.
2.5 Selecione o dispositivo para emular. (Aqui você pode optar por selecionar criar android emulator para simular um dispositivo android, dessa forma o android-studio começara a executar a simulação)
-
Se você quiser optar por ter um dispositivo já configurado:
- Abra o android-studio;
- Clique em More Actions;
- Selecione Virtual Device Manager;
- Clique em Create device;
- Selecione o Pixel 4a ou qualquer outro que tenha a play store disponível;
- Selecione a imagem do sistema (Eu optei pela Tiramisu, mas você pode selecionar qualquer uma que quiser);
- De um nome para o dispositivo e clique em Finish;
- Na hora de executar o projeto, basta selecionar o dispositivo criado.
-
Bônus: Emular o projeto no próprio celular.
- Ative a depuração USB no modo desenvolvedor do seu celular (cada celular tem uma forma de ativar o modo desenvolvedor, então recomendo procurar no google como fazer isso para o seu dispositivo);
- Com a depuração USB ativa, conecte o celular a uma entrada USB e selecione a transferência de arquivo;
- No terminal rode "flutter run" ou no vscode F5 ou Ctrl + F5;
Eu recomendo tentar emular esse projeto diretamente no celular. Visto que quando fiz os teste via android-studio o mesmo não detectava os dispositivos Bluetooth.
- On GitHub.com, navigate to the repository's main page.
- Above the list of files, click code.
- To clone the repository using HTTPS, under "Clone with HTTPS", click 📋. To clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click Use SSH, then click 📋. To clone a repository using GitHub CLI, click Use GitHub CLI, then click 📋.
- Open Git Bash.
- Type git clone (clone git) and paste the URL you copied earlier.
git clone [email protected]:theHprogrammer/labsec-flutter-challenge.git
- Press Enter to create your local clone.
Helder Henrique |