패키지, 저장소 및 앱 카테고리 검색

GitHub 저장소flutter-team-archive/pinball

핀볼

Flutter 및 Firebase로 구현한 Google I/O 2022 핀볼 게임

핀볼 프로젝트 이미지
스타
2.3천
포크
273
최근 푸시(UTC)
2026. 6. 8.
프로젝트 상태
보관됨

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

I/O Pinball

Pinball Header

io_pinball coverage style: very good analysis License: MIT

A Pinball game built with Flutter and Firebase for Google I/O 2022.

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 🚀

Firebase

First, please create a Firebase project for development. After you create your project, remember to activate the following features: - Authentication with the anonymous option - Firestore with the rules in firestore.rules.

Next, use the instructions on Firebase website to set up the flutterfire_cli.

Allow it to override the lib/firebase_options.dart file with your project settings.

Running locally

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 Pinball works on Web for desktop and mobile.


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:pinball/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"
    }
}
Flutter archive GitHub avatar
GitHub 작성자

Flutter archive ↗

Archive of inactive repos formerly part of https://github.com/flutter

언어DartHTMLJavaScript

사용 중인 의존성

의존성 목록 28 개

  • authentication_repository{"path":"packages/authentication_repository"}
  • bloc^8.1.4
  • cloud_firestore^5.0.2
  • equatable^2.0.3
  • firebase_auth^5.1.1
  • firebase_core^3.1.1
  • flame^1.18.0
  • flame_bloc^1.12.0
  • flame_forge2d^0.18.1
  • flutter{"sdk":"flutter"}
  • flutter_bloc^8.0.1
  • flutter_localizations{"sdk":"flutter"}
  • geometry{"path":"packages/geometry"}
  • intl^0.19.0
  • leaderboard_repository{"path":"packages/leaderboard_repository"}
  • pinball_audio{"path":"packages/pinball_audio"}
  • pinball_components{"path":"packages/pinball_components"}
  • pinball_flame{"path":"packages/pinball_flame"}
  • pinball_theme{"path":"packages/pinball_theme"}
  • pinball_ui{"path":"packages/pinball_ui"}
  • platform_helper{"path":"packages/platform_helper"}
  • share_repository{"path":"packages/share_repository"}
  • url_launcher^6.1.0
  • bloc_test개발 의존성^9.0.2
  • flame_test개발 의존성^1.3.0
  • flutter_test개발 의존성{"sdk":"flutter"}
  • mocktail개발 의존성^1.0.4
  • very_good_analysis개발 의존성^6.0.0

프로젝트에 맞는 저장소를 선택하려면?

사용 목적에 따라 검색하고 개발 활동을 비교한 뒤 원본 저장소에서 요구 사항을 확인하세요.

  1. 이름, 작성자 또는 설명으로 검색하고 기술 주제로 범위를 좁힙니다.
  2. 스타, 포크, 최근 푸시를 함께 비교하세요. 스타는 관심의 지표이며 품질을 보장하지 않습니다.
  3. 사용하기 전에 GitHub에서 README, 라이선스, Issues를 확인하세요.

출처 및 관리

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗