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"
}
}