samples:
  - name: Material 3
    author: Flutter
    screenshots:
      - url: images/material_3_components.png
        alt: Components tab of the Material 3 demo
      - url: images/material_3_color.png
        alt: Colors tab of the Material 3 demo
      - url: images/material_3_typography.png
        alt: Typography tab of the Material 3 demo
      - url: images/material_3_elevation.png
        alt: Elevation tab of the Material 3 demo
      - url: images/material_3_green.png
        alt: Elevation tab of the Material 3 demo with seed color of green
    source: https://github.com/flutter/samples/tree/main/material_3_demo
    description: >
      Showcases Material 3 features in the Flutter Material library.
      These features include updated components, typography, color system and elevation support.
    difficulty: beginner
    widgets:
      - Theme
      - TextButton
      - ElevatedButton
      - OutlinedButton
      - Text
      - Card
      - AppBar
    packages: [ ]
    tags: [ "material", "design", "gallery" ]
    platforms: [ "ios", "android", "web", "windows", "macos", "linux" ]
    type: demo
    web: web/material_3_demo

  - name: Rich Text Editor
    author: Flutter
    screenshots:
      - url: images/simple_editor_active.png
        alt: Advanced text editing with activity
      - url: images/simple_editor_initial.png
        alt: Advanced text editing in initial state
    source: https://github.com/flutter/samples/tree/main/simplistic_editor
    description: >
      This is a fancy text editor sample which shows how to consume fine-grain
      text editing and selection details from the framework's TextEditingDeltas
      APIs.
    difficulty: advanced
    widgets:
      - TextInput
    packages: []
    tags: ["demo", "text"]
    platforms: ["ios", "android", "web", "windows", "macos", "linux"]
    type: demo
    web: web/simplistic_editor

  - name: Gallery
    author: Flutter
    screenshots:
      - url: images/gallery1.png
        alt: Gallery app screenshot
      - url: images/gallery2.png
        alt: Rally app screenshot
      - url: images/gallery3.png
        alt: Fortnightly app screenshot
      - url: images/gallery4.png
        alt: Crane app screenshot
      - url: images/gallery5.png
        alt: Shrine app screenshot
    source: https://github.com/flutter/gallery
    web: https://flutter-gallery-archive.web.app
    description: >
      A collection of Material Design & Cupertino widgets, behaviors,
      and vignettes implemented with Flutter.
    difficulty: intermediate
    widgets:
      - AlertDialog
      - AppBar
      - BottomAppBar
      - BottomNavigationBar
      - BottomSheet
      - Card
      - Checkbox
      - ChoiceChip
      - CircularProgressIndicator
      - Container
      - CupertinoActivityIndicator
      - CupertinoAlertDialog
      - CupertinoButton
      - CupertinoButton
      - CupertinoDatePicker
      - CupertinoDialogAction
      - CupertinoNavigationBar
      - CupertinoPageScaffold
      - CupertinoSegmentedControl
      - CupertinoSlider
      - CupertinoSlidingSegmentedControl
      - CupertinoSliverRefreshControl
      - CupertinoSwitch
      - CupertinoTabView
      - CupertinoTextField
      - CupertinoTheme
      - DayPicker
      - FilterChip
      - FlatButton
      - FloatingActionButton
      - GridTile
      - GridView
      - Icon
      - InputChip
      - LayoutBuilder
      - LinearProgressIndicator
      - ListTile
      - ListView
      - MaterialBanner
      - MonthPicker
      - PaginatedDataTable
      - PopupMenuButton
      - PopupMenuItem
      - Radio
      - RaisedButton
      - RangeSlider
      - Scaffold
      - SimpleDialog
      - Slider
      - SnackBar
      - Switch
      - TabBar
      - TabBarView
      - TextField
      - TextFormField
      - Tooltip
      - YearPicker
    packages:
      - flutter/material
      - flutter/cupertino
      - google_fonts
      - scoped_model
    tags: ['intermediate', 'sample', 'gallery', 'material', 'design', 'vignettes']
    platforms: ['web', 'ios', 'android']
    type: demo

  - name: Web Embedding
    author: Flutter and Angular
    screenshots:
      - url: images/web_embedding1.png
        alt: A Flutter app embedded in an Angular app
      - url: images/web_embedding2.png
        alt: A Flutter app embedded in an Angular app
    source: https://github.com/flutter/samples/tree/main/web_embedding
    description: >
      An example app showing how to embed Flutter in a web application using Angular
    difficulty: advanced
    widgets: []
    packages: []
    platforms: ['web']
    tags: ['demo', 'web', 'add-to-app', 'embedding']
    web: https://flutter-angular.web.app/
    type: demo

  - name: Add to App
    author: Flutter
    screenshots:
      - url: images/add_to_app1.png
        alt: Add_to_app screenshot
      - url: images/add_to_app2.png
        alt: Add_to_app screenshot
    source: https://github.com/flutter/samples/tree/main/add_to_app
    description: >
      Android and iOS projects that each import a standalone Flutter module.
    difficulty: advanced
    widgets:
      - WidgetsFlutterBinding
      - MethodChannel
    packages:
      - flutter/material
      - flutter/services
      - provider
    tags: ['advanced', 'sample', 'add-to-app', 'android', 'ios', 'native', 'embedding']
    platforms: ['ios', 'android']
    type: sample

  - name: Code Sharing
    author: Flutter
    screenshots:
      - url: images/code_sharing.jpg
        alt: Counter app communicating with server
    source: https://github.com/flutter/samples/tree/main/code_sharing
    description: >
      Demonstrates simple way to share business logic between a Flutter app and
      a server running Dart.
    difficulty: intermediate
    packages:
      - freezed
      - shelf
    tags: ['intermediate', 'sample', 'code-sharing', 'dart', 'server']
    platforms: ['android', 'ios', 'linux', 'macos', 'web', 'windows']
    type: sample

  - name: Animations
    author: Flutter
    screenshots:
      - url: images/animations1.png
        alt: Animations sample screenshot
      - url: images/animations2.png
        alt: Animations sample screenshot
      - url: images/animations3.png
        alt: Animations sample screenshot
    source: https://github.com/flutter/samples/tree/main/animations
    description: >
      Sample apps that showcasing Flutter's animation features.
    difficulty: advanced
    widgets:
      - AnimatedContainer
      - PageRouteBuilder
      - AnimationController
      - SingleTickerProviderStateMixin
      - Tween
      - AnimatedBuilder
      - TweenSequence
      - TweenSequenceItem
    packages:
      - flutter/material
    tags: ['intermediate', 'sample', 'animation']
    platforms: ['ios', 'android', 'web']
    type: sample
    web: web/animations

  - name: Flutter Maps Firestore
    author: Flutter
    screenshots:
      - url: images/flutter_maps_firestore1.png
        alt: Flutter maps firestore screenshot
      - url: images/flutter_maps_firestore2.png
        alt: Flutter maps firestore screenshot
    source: https://github.com/flutter/samples/tree/main/flutter_maps_firestore
    description: >
      A Flutter sample app that shows the end product of the Cloud Next '19 talk
      Build Mobile Apps With Flutter and Google Maps.
    difficulty: advanced
    widgets:
      - GoogleMap
    packages:
      - flutter/material
      - cloud_firestore
      - google_maps_flutter
      - google_maps_webservice
    tags: ['intermediate', 'sample', 'firebase', 'maps']
    platforms: ['ios', 'android']
    type: sample

  - name: Isolate Example
    author: Flutter
    screenshots:
      - url: images/isolate1.png
        alt: Isolate example screenshot
      - url: images/isolate2.png
        alt: Isolate example screenshot
      - url: images/isolate3.png
        alt: Isolate example screenshot
    source: https://github.com/flutter/samples/tree/main/isolate_example
    description: >
      A sample application that demonstrate best practices when using
      isolates.
    difficulty: intermediate
    widgets:
      - FutureBuilder
      - AnimationController
    packages:
      - dart:isolate
      - dart:math
    tags: ['intermediate', 'sample', 'isolates', 'concurrency']
    platforms: ['ios', 'android']
    type: sample

  - name: Place Tracker
    author: Flutter
    screenshots:
      - url: images/place_tracker1.png
        alt: Place Tracker screenshot
      - url: images/place_tracker2.png
        alt: Place Tracker screenshot
      - url: images/place_tracker3.png
        alt: Place Tracker screenshot
      - url: images/place_tracker4.png
        alt: Place Tracker screenshot
    source: https://github.com/flutter/samples/tree/main/place_tracker
    description: >
      A sample place tracking app that uses the google_maps_flutter plugin. Keep
      track of your favorite places, places you've visited, and places you want
      to go. View details about these places, show them on a map, and get
      directions to them.
    difficulty: intermediate
    widgets:
      - GoogleMap
    packages:
      - google_maps_flutter
    tags: ['intermediate', 'sample', 'json', 'serialization']
    platforms: ['android']
    type: sample

  - name: Platform Design
    author: Flutter
    screenshots:
      - url: images/platform_design1.png
        alt: Platform Design screenshot
      - url: images/platform_design2.png
        alt: Platform Design screenshot
      - url: images/platform_design3.png
        alt: Platform Design screenshot
      - url: images/platform_design4.png
        alt: Platform Design screenshot
      - url: images/platform_design5.png
        alt: Platform Design screenshot
      - url: images/platform_design6.png
        alt: Platform Design screenshot
      - url: images/platform_design7.png
        alt: Platform Design screenshot
    source: https://github.com/flutter/samples/tree/main/platform_design
    description: >
      A Flutter app that maximizes application code reuse while adhering to
      different design patterns on Android and iOS
    difficulty: advanced
    widgets:
      - TargetPlatform
    packages:
      - flutter/material
      - flutter/cupertino
    tags: ['advanced', 'sample', 'ios']
    platforms: ['ios', 'android']
    type: sample

  - name: Platform View Swift
    author: Flutter
    screenshots:
      - url: images/platform_view_swift1.png
        alt: Platform View Swift screenshot
      - url: images/platform_view_swift2.png
        alt: Platform View Swift screenshot
    source: https://github.com/flutter/samples/tree/main/platform_view_swift
    description: >
      A Flutter sample app that combines a native iOS UIViewController with a
      full-screen Flutter view.
    difficulty: intermediate
    widgets:
      - MethodChannel
    packages:
      - flutter/material
      - flutter/services
    tags: ['advanced', 'sample', 'ios']
    platforms: ['ios']
    type: sample

  - name: Infinite List
    author: Flutter
    screenshots:
      - url: images/infinite_list.png
        alt: Infinite List screenshot
    source: https://github.com/flutter/samples/tree/main/infinite_list
    description: >
      A Flutter sample app that shows an implementation of the "infinite list" UX pattern. 
      That is, a list is shown to the user as if it was continuous although it is internally 
      paginated. This is a common feature of mobile apps, from shopping catalogs 
      through search engines to social media clients.
    difficulty: intermediate
    widgets:
      - Selector
      - AppBar
      - ListTile
      - ListView
    packages:
      - provider
      - meta
    tags: ['sample', 'material', 'design', 'android', 'ios']
    platforms: ['ios', 'android']
    type: sample

  - name: IOS App Clip
    author: Flutter
    screenshots:
      - url: images/ios_app_clip.png
        alt: IOS App Clip screenshot
    source: https://github.com/flutter/samples/tree/main/ios_app_clip
    description: >
      A Flutter sample app that shows the demonstrating integration with iOS 14's App Clip,
      the App Clip target is rendered by Flutter and uses a plugin.
    difficulty: intermediate
    widgets:
      - CupertinoApp
      - AppBar
      - FlutterLogo
    packages:
      - device_info
    tags: ['sample', 'Device Info', 'ios']
    platforms: ['ios']
    type: sample

  - name: Testing App
    author: Flutter
    screenshots:
      - url: images/testing_app1.png
        alt: Testing App screenshot
      - url: images/testing_app2.png
        alt: Testing App screenshot
    source: https://github.com/flutter/samples/tree/main/testing_app
    description: >
      A Flutter sample app that shows different types of testing in Flutter.
    difficulty: intermediate
    widgets:
      - AppBar
      - ListTile
      - ListView
      - Snackbar
    packages:
      - provider
    tags: ['sample', 'material', 'android', 'ios']
    platforms: ['ios', 'android']
    type: sample

  - name: Provider Shopper
    author: Flutter
    screenshots:
      - url: images/provider_shopper1.png
        alt: Provider Shopper screenshot
      - url: images/provider_shopper2.png
        alt: Provider Shopper screenshot
      - url: images/provider_shopper3.png
        alt: Provider Shopper screenshot
    source: https://github.com/flutter/samples/tree/main/provider_shopper
    description: >
      A Flutter sample app that shows a state management approach using the Provider package.
    difficulty: intermediate
    widgets:
      - Provider
      - MultiProvider
      - ChangeNotifier
    packages:
      - provider
    tags: ['intermediate', 'sample', 'provider']
    platforms: ['ios', 'android', 'web']
    type: sample
    web: web/provider_shopper

  - name: Web Dashboard
    author: Flutter
    screenshots:
      - url: images/web_dashboard1.png
        alt: Web Dashboard screenshot
      - url: images/web_dashboard2.png
        alt: Web Dashboard screenshot
      - url: images/web_dashboard3.png
        alt: Web Dashboard screenshot
    source: https://github.com/flutter/samples/tree/main/experimental/web_dashboard
    description: >
      A dashboard app that displays daily entries. Demonstrates AdaptiveScaffold and NavigationRail. Showcases how to
      use Firebase, but uses a mock backend by default.
    difficulty: advanced
    widgets:
      - AdaptiveScaffold
      - NavigationRail
      - FutureBuilder
      - StreamBuilder
    packages:
      - firebase
    tags: ['intermediate', 'sample', 'firebase']
    platforms: ['ios', 'android', 'web']
    type: sample
    web: web/web_dashboard

  - name: Form App
    author: Flutter
    screenshots:
      - url: images/form_app1.png
        alt: Form App screenshot
      - url: images/form_app2.png
        alt: Form App screenshot
      - url: images/form_app3.png
        alt: Form App screenshot
    source: https://github.com/flutter/samples/tree/main/form_app
    description: >
      A Flutter sample app that shows how to use Forms.
    difficulty: intermediate
    widgets:
      - Form
    packages: []
    tags: ['intermediate', 'sample', 'forms']
    platforms: ['ios', 'android', 'web']
    type: sample
    web: web/form_app
    
  - name: Navigation and Routing
    author: Flutter
    screenshots:
      - url: images/navigation_and_routing1.png
        alt: Navigation and Routing screenshot
      - url: images/navigation_and_routing2.png
        alt: Navigation and Routing screenshot
      - url: images/navigation_and_routing3.png
        alt: Navigation and Routing screenshot
      - url: images/navigation_and_routing4.png
        alt: Navigation and Routing screenshot
    source: https://github.com/flutter/samples/tree/main/navigation_and_routing
    description: >
      A Flutter sample app that shows how to use how to use the Router API to
      handle common navigation scenarios.
    difficulty: advanced
    widgets:
      - Router
    packages: []
    tags: ['advanced', 'sample', 'navigation', 'router']
    platforms: ['ios', 'android', 'web']
    type: sample
    web: web/navigation_and_routing
    
  - name: Photo Search app
    author: Flutter
    screenshots:
      - url: images/desktop_photo_search-fluent_ui.png
        alt: Desktop Photo Search with FluentUI widgets
      - url: images/desktop_photo_search-material.png
        alt: Desktop Photo Search with Material widgets
    source: https://github.com/flutter/samples/tree/main/desktop_photo_search
    description: >
      This is the Photo Search app, built out with two different widget sets,
      `material` shows the Photo Search app built with Material widgets, and
      `fluent_ui` shows the Photo Search app built with Fluent UI widgets.
    difficulty: medium
    widgets: []
    packages: 
      - built_collection
      - built_value
      - file_selector
      - fluent_ui
      - flutter/material
      - provider
      - url_launcher
    tags: ['desktop', 'rest-api']
    platforms: ['windows', 'macos', 'linux']
    type: sample

  - name: Slide Puzzle
    author: Very Good Ventures
    screenshots:
      - url: images/slide_puzzle1.png
        alt: Slide Puzzle screenshot
    source: https://github.com/VGVentures/slide_puzzle
    description: >
      A slide puzzle built for Flutter Challenge.
    difficulty: advanced
    widgets: []
    packages: []
    platforms: ['web']
    tags: ['demo', 'game']
    type: demo

  - name: Game Template
    author: Flutter
    screenshots:
      - url: images/loading_screen.png
        alt: Loading screen
      - url: images/level_selector.png
        alt: Level selection screen
    source: https://github.com/flutter/samples/tree/main/game_template
    description: >
      This is a game template that shows how to build much of the dressing
      around an actual game. The game itself is very simple - the value in this
      sample is everything around the game.
    difficulty: beginner
    widgets:
      - GoRouter
      - AppLifecycleObserver
    packages:
      - audioplayers
      - firebase_crashlytics
      - games_services
      - go_router
      - google_mobile_ads
      - in_app_purchase
      - logging
      - provider
      - shared_preferences
    tags: ["games", "firebase", "ads", "crashlytics", "routing"]
    platforms: ["ios", "android", "web", "windows", "macos", "linux"]
    type: demo
    web: web/game_template

  - name: Dice
    author: Jaime Blasco
    screenshots:
      - url: images/dice.png
        alt: Dice screenshot
    source: https://github.com/jamesblasco/zflutter/blob/master/zflutter/example/lib/examples/dice/dice.dart
    description: >
      A demo of 3d animation using dice
    difficulty: advanced
    widgets: []
    packages: []
    platforms: ['web']
    tags: ['demo', 'animation']
    web: https://z.flutter.gallery/#/dice
    type: demo
