/penhas-app

Código fonte do App Mobile do PenhaS

Primary LanguageDartGNU Affero General Public License v3.0AGPL-3.0

PenhaS

Disponível no Google Play Download on the App Store

Requisitos

  • FVM (recomendável) ou SDK Flutter ^2.10.0
  • Android SDK
  • XCode
  • Projetos Android e iOS no Firebase
  • Chave de API do Google Maps

Configuração

Firebase

Para ser possível executar o aplicativo, é necessário ter os arquivos de configuração do Firebase, para isso pode ser utilizado o Firebase CLI com o FlutterFire, siga o primeiro passo na documentação oficial para instalar as ferramentas de linha de comando.

Após as ferramentas serem instaladas podemos baixar esses arquivos com o seguinte comando:

flutterfire configure -y \
    --project=penhas-v3 \ # ou substitua pelo nome do projeto registrado
    --out=lib/firebase_options.dart \
    --platforms=android,ios \
    --android-package-name=dev.penhas.com.br \
    --ios-bundle-id=dev.penhas.alphacode.com.br

Google Maps

Para exibição dos pontos de apoio, utilizamos o Google Maps SDK para Flutter, siga os passos na página do plugin para gerar a chave de API e habilitar o Google Maps para as plataformas Android e iOS: https://pub.dev/packages/google_maps_flutter

A chave gerada deve ser colocada nos arquivos de configuração do Android e iOS que ficam localizados em android/secrets.properties e ios/Flutter/Secrets.xcconfig respectivamente, crie esses arquivos caso não existam e coloque a chave da seguinte maneira:

GEO_API_KEY=[SUA CHAVE DE API]

Execução

fvm flutter run --dart-define=PENHAS_BASE_URL=[URL]

Testes automatizados

Para rodar os testes automatizados:

fvm flutter test

Para gerar relatório em html da cobertura dos testes execute

genhtml coverage/lcov.info -o coverage/html

O arquivo gerado estará disponível em coverage/html/index.html. Para executar o comando é preciso ter o pacote lcov instalado.

No VS Code, Também é possível instalar a extensão Coverage Gutters, do ryanluker e a Flutter Coverage, do Fluterando.

Iniciar app pelo VS Code

Para iniciar o app utilizando o vs code adicione os seguintes arquivos dentro da pasta .vscode

- launch.json
- settings.json

Aponte sua configuração para o sdk utilizado pelo fvm em settings.json. Geralmente elas ficam na pasta .fvm/:

{
    "dart.flutterSdkPath": ".fvm/flutter_sdk",
    "search.exclude": {
      "**/.fvm": true
    },
    "files.watcherExclude": {
      "**/.fvm": true
    }
  }

E em launch.json adicione

{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "Flutter",
      "request": "launch",
      "type": "dart",
      "program": "./lib/main.dart"
    }
  ]
}

Caso queira iniciar o app apontando para um ambiente diferente, isso pode ser feito utilizando o argumento PENHAS_BASE_URL. A configuração do arquivo ficaria como abaixo, substituindo <URL_DO_AMBIENTE> pela url a ser utilizada.

{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "Flutter",
      "request": "launch",
      "type": "dart",
      "program": "./lib/main.dart",
      "args": ["--dart-define=PENHAS_BASE_URL=<URL_DO_AMBIENTE>"]
    }
  ]
}