firebase_remote_config
Firebase Remote Config 的 Flutter 插件。无需重新发布应用即可更新应用的外观和行为。
PenhaS 移动应用源代码
Firebase Remote Config 的 Flutter 插件。无需重新发布应用即可更新应用的外观和行为。
一个用于在 iOS 和 Android 应用程序中集成 Google 地图的 Flutter 插件。
MobX 的 Flutter 集成。它提供了一组 Observer 小部件,当跟踪的可观察对象发生变化时会自动重建。
MobX 是一个用于响应式管理应用程序状态的库。使用可观察对象、动作和反应的力量,为您的 Dart 和 Flutter 应用程序赋能。
用于 MobX 的代码生成器,可支持使用 @observable、@computed、@action 注解您的代码,并创建 Store 类。
具有依赖注入和路由管理的智能项目结构
具有依赖注入和路由管理的智能项目结构
一个跨平台的包,用于解析和序列化HTTP格式。
v9.30.0一个完整的音频播放和录制API。Tau家族成员。音频播放器,音频录音机。为乌克兰祈祷。
Flutter 包,用于将 HTML 渲染为支持超链接、图像、音频、视频、iframe 及其他多种标签的 widget。
一个 Dart 包,允许您使用 mocktail 包在您的小部件测试中自信地模拟 Image.network。
在 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.0以下为英文项目原文快照,最新内容请访问 GitHub。
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