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 及其他多種標籤的組件。
一個 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