firebase_remote_config
Plugin Flutter para o Firebase Remote Config. Atualize o visual e o comportamento do seu aplicativo sem reenviar.
Código-fonte do Aplicativo Móvel do PenhaS
Plugin Flutter para o Firebase Remote Config. Atualize o visual e o comportamento do seu aplicativo sem reenviar.
Um plugin Flutter para integrar o Google Maps em aplicativos iOS e Android.
Integração do Flutter com MobX. Ele fornece um conjunto de widgets Observer que se reconstruem automaticamente quando os observáveis rastreados mudam.
MobX é uma biblioteca para gerenciar de forma reativa o estado das suas aplicações. Use o poder dos observáveis, ações e reações para supercarregar seus aplicativos Dart e Flutter.
Gerador de código para o MobX que adiciona suporte para anotar seu código com @observable, @computed, @action e também cria classes Store.
Estrutura de projeto inteligente com injeção de dependência e gerenciamento de rota
Estrutura de projeto inteligente com injeção de dependência e gerenciamento de rota
Um pacote independente de plataforma para análise e serialização de formatos HTTP.
v9.30.0Uma API completa para reprodução e gravação de áudio. Membro da família Tau. Player de áudio, gravador de áudio. Ore pela Ucrânia.
Pacote Flutter para renderizar HTML como widgets que suportam hiperlinks, imagem, áudio, vídeo, iframe e muitos outros tags.
Um pacote Dart que permite você mockar o Image.network em seus testes de widget com confiança usando o pacote mocktail.
Role para uma criança específica de qualquer widget rolável no Flutter
{"sdk":"flutter"}{"sdk":"flutter"}^2.2.1^2.0.2^1.16.0^4.3.1^3.0.1^1.0.4^0.10.1—^3.0.0^2.0.311.4.33.12.15.4.04.3.4^5.4.2^2.0.5^5.0.3^9.2.4^9.25.4^2.0.0^0.16.0^2.1.0^12.0.02.2.0^1.1.0^1.2.2^4.0.0^0.19.0^4.6.0^2.0.2^1.0.2^3.0.0^2.0.0^1.7.0^2.0.5—^1.8.0^2.0.8^2.0.22^2.0.11^11.4.04.3.0^6.0.1^3.0.1^2.0.11^2.0.15^2.1.1^1.10.0^3.0.0+3^3.1.0^6.1.7^4.3.3^9.5.5^5.1.0^3.1.6^3.0.0^0.28.0^4.9.0^1.3.0{"sdk":"flutter"}^0.11.0^2.1.5^4.0.0any^2.0.4^4.0.3^0.15.0^6.3.1^2.4.0^2.0.4^1.0.0^1.2.0^2.0.0Texto original em inglês. Visite o GitHub para a versão atual.
O PenhaS é um aplicativo móvel gratuito de ajuda, informação e acolhimento a mulheres em situação de violência doméstica.
O app conecta mulheres entre si em uma rede de apoio e oferece ferramentas práticas para romper o ciclo de violência doméstica.
Qualquer pessoa engajada no enfrentamento à violência contra a mulher pode se cadastrar, conversar com outras pessoas no feed e acessar conteúdos informativos sobre o tema, além de visualizar um mapa de pontos de apoio disponíveis em todo o Brasil.
Mulheres (cis ou trans), homens trans e pessoas não binárias têm acesso a funcionalidades exclusivas, como:
Lançado em março de 2019, o PenhaS evoluiu com a colaboração de diversas mulheres e especialistas.
Em 2023, ganhou o Manual de Fuga, ferramenta que ajuda mulheres a planejarem uma saída segura de situações de violência.
O projeto é open source, licenciado sob AGPL-3.0, refletindo o compromisso do Instituto AzMina com o uso ético, colaborativo e livre da tecnologia.
⚠️ Para usar todas as funcionalidades, é necessário conceder permissões de localização e microfone. Dados sensíveis são tratados de forma segura conforme a política de privacidade do app.
Antes de rodar o aplicativo pela primeira vez, são necessárias algumas configurações de serviços externos.
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.
Instalar a gem do xcode para que o comando funcione corretamente (Obrigatório caso for buildar o app em iOS)
gem install xcodeproj
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
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]
🔒 Mantenha esses arquivos fora do controle de versão.
Com tudo configurado, execute:
fvm flutter run --dart-define=PENHAS_BASE_URL=[URL]
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.
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>"]
}
]
}
Quer contribuir? Siga estas orientações:
analysis_options.yaml.Cada contribuição fortalece uma ferramenta essencial na luta contra a violência de gênero.
Este projeto está licenciado sob a AGPL-3.0 (Affero General Public License).
O código pode ser usado e modificado livremente, desde que as distribuições derivadas mantenham a mesma licença e disponibilizem seu código-fonte.
Desenvolvido com ♥ pelo Instituto AzMina