Skip to content

VGVentures/photobooth

This branch is 1 commit behind flutter/photobooth:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e23be72 Β· Jun 25, 2021
May 17, 2021
May 11, 2021
May 16, 2021
May 13, 2021
Jun 2, 2021
Jun 25, 2021
Jun 21, 2021
Jun 3, 2021
May 10, 2021
May 16, 2021
Apr 5, 2021
May 12, 2021
Mar 16, 2021
Mar 16, 2021
May 17, 2021
May 6, 2021
Mar 16, 2021
May 6, 2021
Mar 16, 2021
Apr 19, 2021
Apr 19, 2021
Jun 21, 2021
Jun 3, 2021
Apr 5, 2021

Repository files navigation

I/O Photo Booth

Photo Booth Header

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

  1. To add a new localizable string, open the app_en.arb file at lib/l10n/arb/app_en.arb.
{
    "@@locale": "en",
    "counterAppBarTitle": "Counter",
    "@counterAppBarTitle": {
        "description": "Text shown in the AppBar of the Counter Page"
    }
}
  1. 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"
    }
}
  1. 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

  1. For each supported locale, add a new ARB file in lib/l10n/arb.
β”œβ”€β”€ l10n
β”‚   β”œβ”€β”€ arb
β”‚   β”‚   β”œβ”€β”€ app_en.arb
β”‚   β”‚   └── app_es.arb
  1. Add the translated strings to each .arb file:

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

About

Google I/O 2021 Photo Booth built with Flutter and Firebase

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Dart 94.7%
  • TypeScript 2.6%
  • HTML 1.3%
  • Other 1.4%