flutter-team-archive/photobooth
使用 Flutter 和 Firebase 建構的 Google I/O 2021 相機亭
- Stars
- 984
- Forks
- 205
- 最近推送(UTC)
- 2023年3月8日
- 專案狀態
- 已封存
語言DartTypeScriptHTMLShellJavaScript
技術主題
使用的依賴
依賴清單 28 項
- analytics
{"path":"packages/analytics"} - authentication_repository
{"path":"packages/authentication_repository"} - bloc
^8.1.0 - camera
{"path":"packages/camera/camera"} - cross_file
^0.3.3+2 - equatable
^2.0.5 - firebase_auth
^4.2.9 - firebase_core
^2.4.1 - firebase_storage
^11.0.10 - flutter
{"sdk":"flutter"} - flutter_bloc
^8.1.1 - flutter_localizations
{"sdk":"flutter"} - image_compositor
{"path":"packages/image_compositor"} - intl
^0.18.0 - just_audio
^0.9.31 - photobooth_ui
{"path":"packages/photobooth_ui"} - photos_repository
{"path":"packages/photos_repository"} - platform_helper
{"path":"packages/platform_helper"} - rxdart
^0.27.7 - uuid
^3.0.7 - very_good_analysis
^4.0.0+1 - bloc_test開發依賴
^9.1.0 - flutter_test開發依賴
{"sdk":"flutter"} - mocktail開發依賴
^0.3.0 - mocktail_image_network開發依賴
^0.3.1 - plugin_platform_interface開發依賴
^2.1.3 - test開發依賴
^1.21.7 - url_launcher_platform_interface開發依賴
^2.1.1
原始 README
以下為英文專案原文快照,最新內容請造訪 GitHub。
展開 / 收合專案 README
I/O Photo Booth
io_photobooth coverage style: very good analysis License: MIT
A Photo Booth built with Flutter and Firebase for Google I/O 2021.
Try it now and learn about how it's made.
Built by Very Good Ventures in partnership with Google
Created using Very Good CLI 🤖
Getting Started 🚀
To run the desired project either use the launch configuration in VSCode/Android Studio or use the following commands:
$ flutter run -d chrome
*I/O Photo Booth works on Web.
Running Tests 🧪
To run all unit and widget tests use the following command:
$ flutter test --coverage --test-randomize-ordering-seed random
To view the generated coverage report you can use lcov.
# Generate Coverage Report
$ genhtml coverage/lcov.info -o coverage/
# Open Coverage Report
$ open coverage/index.html
Working with Translations 🌐
This project relies on flutter_localizations and follows the official internationalization guide for Flutter.
Adding Strings
- To add a new localizable string, open the
app_en.arbfile atlib/l10n/arb/app_en.arb.
{
"@@locale": "en",
"counterAppBarTitle": "Counter",
"@counterAppBarTitle": {
"description": "Text shown in the AppBar of the Counter Page"
}
}
- Then add a new key/value and description
{
"@@locale": "en",
"counterAppBarTitle": "Counter",
"@counterAppBarTitle": {
"description": "Text shown in the AppBar of the Counter Page"
},
"helloWorld": "Hello World",
"@helloWorld": {
"description": "Hello World Text"
}
}
- Use the new string
import 'package:io_photobooth/l10n/l10n.dart';
@override
Widget build(BuildContext context) {
final l10n = context.l10n;
return Text(l10n.helloWorld);
}
Adding Translations
- For each supported locale, add a new ARB file in
lib/l10n/arb.
├── l10n
│ ├── arb
│ │ ├── app_en.arb
│ │ └── app_es.arb
- Add the translated strings to each
.arbfile:
app_en.arb
{
"@@locale": "en",
"counterAppBarTitle": "Counter",
"@counterAppBarTitle": {
"description": "Text shown in the AppBar of the Counter Page"
}
}
app_es.arb
{
"@@locale": "es",
"counterAppBarTitle": "Contador",
"@counterAppBarTitle": {
"description": "Texto mostrado en la AppBar de la página del contador"
}
}