Various eBay tools for Flutter development

Overview

Flutter Glove Box

Contains various testing tools that eBay Motors App team is using in their development on daily basis.

License Information

Copyright 2019-2020 eBay Inc.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of eBay Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Comments
  • Add fileNameFactory for further customization

    Add fileNameFactory for further customization

    This PR adds a so called fileNameFactory to multiScreenGolden and screenMatchesGolden which allows further customization of the file name which is used to compare.

    Use Cases

    The newly added function allows one to structure the files differently. For example one can change the naming scheme and put all files to another folder (not to goldens/). In addition to that one can change the multiScreenGolden file names to include the width and height instead of the device name.

    Tests

    I've added tests for both multiScreenGolden and screenMatchesGolden to ensure the desired effect. The PR is fully backwards compatible so no existing test had to be changed.

    Related Issues

    Fixes: https://github.com/eBay/flutter_glove_box/issues/45

    opened by christian-muertz 14
  • WIP: Find all Image widgets and precache them before comparing

    WIP: Find all Image widgets and precache them before comparing

    Instead of calling matchesGoldenFile twice to prime all images, find all Image widgets and precache them so they are available instantly afterwards.

    I am not sure if this is enough because their could probably be other assets that are not images which are not loaded this way.

    opened by christian-muertz 12
  • loadAppFonts() will fail if package does not contain any image assets.

    loadAppFonts() will fail if package does not contain any image assets.

    For a currently unknown reason, if a package does not contain any images, then the FontManifest.json is not generated, even if it depends on other packages with fonts/images

    We need to investigate if this is a bug in Flutter or working as intended. If working as intended, we may need to come up with an alternative solution for loading fonts.

    bug golden_toolkit waiting_on_flutter 
    opened by coreysprague 9
  • Need to add to 'overridable fonts' for package font to be displayed

    Need to add to 'overridable fonts' for package font to be displayed

    We have an issue in our app that requires us to add overridable fonts for the fonts to be rendered in golden tests, even though they work fine when running the app. The fonts come from one of our own packages, and the styles which we refer to from our app are also defined within the package.

    Our current app setup/structure is as follows: In the app pubspec.yaml we have fonts defined as follows

    flutter:
      fonts:
        - family: AvenirNext
          fonts:
            - asset: packages/package_name/fonts/AvenirNext-Regular.ttf
              weight: 400
    

    We use the fonts within our app as follows:

    Text(
       'blah blah',
       style: context.textThemeDefinedInPackage.bodyDefault,
    ),
    

    Our current package setup/structure is as follows: In the package pubspec.yaml we have fonts defined as follows

    flutter:
      fonts:
        - family: AvenirNext
          fonts:
            - asset: lib/fonts/AvenirNext-Regular.ttf
              weight: 400
    

    We define styles within our package as follows:

    TextStyle(fontFamily: 'AvenirNext')
    

    When we generate golden files (when using the style define in the package as shown above), we just see the squares instead of the fonts being rendered correctly. If we explicitly create a style in our text widgets the font is displayed in the golden test. For example:

    Text(
       'this works'
       style: TextStyle(fontFamily: 'AvenirNext', package: 'plentific_ui_core'),
    ),
    Text(
       'this also works'
       style: TextStyle(fontFamily: 'packages/plentific_ui_core/AvenirNext'),
    ),
    Text(
       'this DOES NOT work in golden tests but does in the app'
       style: TextStyle(fontFamily: 'AvenirNext'),
    ),
    

    The only way I have been able to get the fonts rendering in golden tests (when using the styles defined in the package) is to add 'AvenirNext' to the list of overridableFonts in the golden toolkit package font loader file. Now I have found a more elegant way to enable this, by adding an argument, additionalOverridableFonts to the loadAppFonts() method, however I thought I would run it by you guys first and see if anyone else has experienced similar issues, or if there are any other workarounds I have not found. If not, I can create a non-breaking PR with my fix.

    opened by guy-plentific 8
  • Tag golden tests

    Tag golden tests

    This is a very optimistic approach but maybe there is not much more involved.

    I can't get my tests to succeed when using the package as local dependency. I have golden diffs of 0.x% related to fonts. This happens on master as well so it is not related to this change.

    • [x] add tests
    opened by kuhnroyal 8
  • Adds 'DeviceBuilder' factory and helper 'multiDeviceGolden' method to create single golden files for multiple Device configurations and scenarios

    Adds 'DeviceBuilder' factory and helper 'multiDeviceGolden' method to create single golden files for multiple Device configurations and scenarios

    Problem statement:

    Capturing golden files for a screen that has multiple differences across device sizes and multiple complicated ui states.

    Current package says to use 'multiScreenGolden' for the same widget rendered in multiple device sizes (i.e Device.phone, Device.tabletLandscape). This however, produces a single png golden file per device. When adding multiple scenarios/states for that screen and needing still to see across multiple devices, this can grow the number of files considerably.

    Proposed solution:

    DeviceBuilder factory

    The DeviceBuilder class allows user to create multiple scenarios across multiple devices in a single png golden file. The example added was around the default flutter counter view and capturing ui based on user taps.

      testGoldens('DeviceBuilder - multiple scenarios - with afterPump',
          (tester) async {
        final builder = DeviceBuilder()
          ..overrideDevicesForAllScenarios(devices: [
            Device.phone,
            Device.iphone11,
            Device.tabletPortrait,
            Device.tabletLandscape,
          ])
          ..addDeviceScenario(
            widget: FlutterDemoPage(),
            name: 'default page',
          )
          ..addDeviceScenario(
            widget: FlutterDemoPage(),
            name: 'tap once',
            afterPump: (scenarioWidgetKey) async {
              final finder = find.descendant(
                of: find.byKey(scenarioWidgetKey),
                matching: find.byIcon(Icons.add),
              );
              expect(finder, findsOneWidget);
              await tester.tap(finder);
            },
          )
          ..addDeviceScenario(
            widget: FlutterDemoPage(),
            name: 'tap five times',
            afterPump: (scenarioWidgetKey) async {
              final finder = find.descendant(
                of: find.byKey(scenarioWidgetKey),
                matching: find.byIcon(Icons.add),
              );
              expect(finder, findsOneWidget);
    
              await tester.tap(finder);
              await tester.tap(finder);
              await tester.tap(finder);
              await tester.tap(finder);
              await tester.tap(finder);
            },
          );
    
        await tester.pumpDeviceBuilder(builder);
    
        await screenMatchesGolden(tester, 'flutter_demo_page_multiple_scenarios');
      });
    

    The DeviceBuilder exposes an 'afterPump' callback to perform any interactions required to render the scenario across all device sizes. For simpler widgets/screens where a ui state can be instantiated statically through construction, then the 'afterPump' functionality wouldn't be needed.

    This produces a single golden file:

    flutter_demo_page_multiple_scenarios

    The simplest use of this doesn't require you to call overrideDevicesForAllScenarios, as by default it will use GoldenToolkit.configuration.defaultDevices. You can also omit scenario name parameter to.

    final builder = DeviceBuilder()..addDeviceScenario( widget: FlutterDemoPage());
    

    multiDeviceGolden

    This is a helper method much like the existing multiScreenGolden, except that it produces one single golden file instead of multiple per device. This method can be used if you just one a single scenario and don't need to use DeviceBuilder directly.

      testGoldens('multiDeviceGolden', (tester) async {
        await multiDeviceGolden(
          tester,
          'flutter_demo_multi_device_golden',
          widget: FlutterDemoPage(),
          afterPump: (scenarioWidgetKey) async {
            final finder = find.descendant(
              of: find.byKey(scenarioWidgetKey),
              matching: find.byIcon(Icons.add),
            );
            expect(finder, findsOneWidget);
            await tester.tap(finder);
          },
        );
      });
    

    Other fixes

    The current tests were not passing on latest flutter stable 1.22.1. Had to regenerate some golden files. Also had issues with analysis options when opening root folder and looking at weather_widgets.dart. So ignored some issues in there to help analysis step pass.

    opened by moonytoes29 7
  • Tests failing on the other machines

    Tests failing on the other machines

    I created a golden test on my local machine. But after I pushed changes to the server test checks failed. Also on some other computers test tests fail.

    OS is macos.

    local machine logs macos 12.6 (21G115)

    ✓ Authentication screen golden

    ci machine logs macOS 11.7 20G817 (macos-latest in the workflow)

    ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════ The following assertion was thrown while running async test code: Golden "goldens/authentication_screen_golden.png": Pixel test failed, 0.08% diff detected. Failure feedback can be found at /Users/runner/work/metrics/metrics/test/presentation/failures

    When the exception was thrown, this was the stack: #0 LocalFileComparator.compare (package:flutter_test/src/_goldens_io.dart:102:7) (elided one frame from package:stack_trace) ════════════════════════════════════════════════════════════════════════════════════════════════════

    00:50 +51 -1: /Users/runner/work/metrics/metrics/test/presentation/auth_screen_test.dart: Authentication screen golden [E]
    Test failed. See exception logs above. The test description was: Authentication screen golden

    00:50 +51 -1: Some tests failed.
    Error: Process completed with exit code 1.

    flutter doctor

    Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 3.3.2, on macOS 12.6 21G115 darwin-arm, locale en-GB) [✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0) [✓] Xcode - develop for iOS and macOS (Xcode 14.0) [✓] Chrome - develop for the web [✓] Android Studio (version 2020.3) [✓] IntelliJ IDEA Community Edition (version 2021.3) [✓] VS Code (version 1.71.2) [✓] Connected device (3 available) [✓] HTTP Host Availability

    • No issues found!

    opened by InAnadea 6
  • Goldens for different devices seem to influence each other.

    Goldens for different devices seem to influence each other.

    The Goldens look as follows if I run them with respectively.

    ..overrideDevicesForAllScenarios(devices: [
            Device.iphone11,
            // Device.phone,
          ])
          
          
    ..overrideDevicesForAllScenarios(devices: [
            Device.phone,
          ])
    
    
    Screenshot 2021-06-11 at 14 21 08 Screenshot 2021-06-11 at 14 50 21

    Running them with the following setup messes up both tests.

    ..overrideDevicesForAllScenarios(devices: [
            Device.iphone11,
            Device.phone,
          ])
    
    
    Screenshot 2021-06-11 at 14 49 49

    So the tests seem to influence each other :S

    opened by marcoAtEnvidual 6
  • Missing null safety support / Library is legacy

    Missing null safety support / Library is legacy

    Trying to use golden_toolkit with a null safe library will generate the following warning:

    The library 'package:golden_toolkit/golden_toolkit.dart' is legacy, and should not be imported into a null safe library. Try migrating the imported library.

    This is because there is no -nullsafety version for golden_toolkit yet.

    Quoting from the email that has been sent to applicable package authors:

    You can find information on the migration at dart.dev/null-safety, including links to a migration guide and frequently asked questions.

    opened by creativecreatorormaybenot 6
  • docs: flutter_test_config fix

    docs: flutter_test_config fix

    When the main method in flutter_test_config.dart is named as "main", an exception is thrown looking for testExecutable. Renaming my main method to testExecutable runs tests fine.

    documentation golden_toolkit 
    opened by srix55 6
  • Different font rendering between Unix and macOS

    Different font rendering between Unix and macOS

    I tried the golden toolkit and it works great on my machine. I'm working on a MacBook with macOS 10.15.6.

    Our CI is running on a unix machine and the golden tests always fail. On the first look the screens look the same. If you look carefully, you can see little differences around texts. Obviously the anti aliasing works diffently.

    If my colleague creates the goldens on his unix machine, they match on the CI.

    I already tried to turn off the font smoothing in the macOS system settings. Then the rendered text is looking diffently than with smoothing. But also still differently from unix.

    Is there anything we can do about? Or can you fix that in the toolkit?

    bug documentation golden_toolkit 
    opened by neustaTerasa 6
  • Expose a method to override rendering of the final generated image

    Expose a method to override rendering of the final generated image

    We prefer the golden_toolkit methodology of setting up golden tests above other packages currently available. However, probably the number one issue at this point is consistent UI tests across platforms. Even with the Ahem font, these squares do not render consistently accross platforms, due to issues with font smoothing, text scaling differences, etc. Other packages (such as alchemist) have workarounds for this, like replacing all rendered paragraphs with rendered rectangles instead.

    To allow us the best of both worlds, I exposed a new function in the configuration for golden_toolkit which allows providing a method which will run right before the golden tests are generated. This allows developers to (for example) hook-in the rectangle rendering for fonts of the alchemist package (https://github.com/Betterment/alchemist/blob/main/lib/src/blocked_text_image.dart) which will generate consistent golden tests across all platforms, or do more advanced stuff.

    opened by thomas-stockx 1
  • fix semantics autoheight with scroll views

    fix semantics autoheight with scroll views

    When SemanticsDebugger is used with a Scrollable, the semantics boxes are partially displayed :

    Capture d’écran 2022-08-16 à 12 29 17

    The golden should be like this :

    Capture d’écran 2022-08-16 à 12 29 26

    The fix only add a few pumps on screenMatchesGolden when it detect a SemanticsDebugger (5 pumps max if frame are scheduled).

    The autoHeightExtraPumps allows to add other Finder with their number of extra pumps necessary.

    Extra pump will be executed if one of the finder is valid and keep the max number of the map.

    opened by manu-sncf 1
  • google_font is not loaded loadAppFonts()

    google_font is not loaded loadAppFonts()

    By default google_font is stored in project root dir google_fonts but the GoldenToolkit is always loading the font from assets/fonts. When using the google_fonts it is not required to enable fonts in pubspec.yaml file , we just have to add the google_fonts folder to assets.

    solution : create assets/fonts and add your google_font Screen Shot 2565-08-16 at 3 50 09 PM

    opened by rddewan 1
  • Introduce support for `TargetPlatform`

    Introduce support for `TargetPlatform`

    Description

    Introduce support for overriding TargetPlatform using the debugDefaultTargetPlatformOverride.

    Proposal

    Introduce a non-required platform(TargetPlatform) property in Device.

    opened by jogboms 5
Releases(0.14.0)
  • 0.14.0(Dec 8, 2022)

  • 0.13.0(Jan 11, 2022)

    • Updated to Flutter 2.8 / Dart 2.15
    • Resolved an issue where testGoldens() tests were mis-labeled as test groups, which caused issues in VSCode's text explorer. Thanks @DanTup for the fix!
    • Updated documentation. Thanks @HugoHeneault, @nilsreichardt
    Source code(tar.gz)
    Source code(zip)
  • 0.11.0(Oct 15, 2021)

    • migrate from pedantic -> flutter_lints
    • resolved warning that could appear for consumers package:golden_toolkit has `uses-material-design: true` set but the primary pubspec contains `uses-material-design: false`. If the application needs material icons, then `uses-material-design` must be set to true
    • updated documentation to indicate that you no longer need to include an empty images folder to get fonts to render in goldens for packages that do not contain any images.
    Source code(tar.gz)
    Source code(zip)
  • 0.8.0(Nov 10, 2020)

    Thanks to @tsimbalar for this enhancement.

    A new configuration property has been added to GoldenToolkitConfiguration which allows you to opt-in to displaying real shadows in your goldens. By default, real shadows are disabled in Flutter tests due to inconsistencies in their implementation across versions. This behavior could always be toggled off in flutter tests via an obscure global variable. Now, you can easily specify a scoped value it in your configuration overrides.

    Source code(tar.gz)
    Source code(zip)
  • 0.7.0(Nov 6, 2020)

    Thanks to @moonytoes29 for the following enhancements:

    A new helper widget DeviceBuilder has been added. This works conceptually similar to GoldenBuilder but is used for displaying multiple device renderings of a widget in a single golden. This is an alternative to the existing multiScreenGolden() API which captures separate golden images for each device variation under test.

    To assist with usage of DeviceBuilder, there is a new helper API: tester.pumpDeviceBuilder(builder) which assists in easily pumping a DeviceBuilder widget in your tests. Check out the documentation for more details.

    Source code(tar.gz)
    Source code(zip)
  • 0.6.0(Jul 10, 2020)

    Added the ability to configure the default set of devices to use for multiScreenGolden assertions globally.

    For example: GoldenToolkitConfiguration(defaultDevices: [Device.iphone11, Device.iphone11.dark()])

    As part of this, the default parameter value has been removed from multiScreenGolden.

    There was also a minor breaking change in that the const constructor of GoldenToolkitConfiguration is no longer const.

    Source code(tar.gz)
    Source code(zip)
  • 0.5.1(Jun 26, 2020)

  • 0.5.0(Jun 25, 2020)

    More intelligent behavior for loading assets

    A new mechanism has been added for ensuring that images have been decoded before capturing goldens. The old implementation worked most of the time, but was non-deterministic and hacky. The new implementation inspects the widget tree to identify images that need to be loaded. It should display images more consistently in goldens.

    This may be a breaking change for some consumers. If you run into issues, you can revert to the old behavior, by applying the following configuration:

    GoldenToolkitConfiguration(primeAssets: legacyPrimeAssets);

    Additionally, you can provide your own implementation that extends the new default behavior:

    GoldenToolkitConfiguration(primeAssets: (tester) async {
     await defaultPrimeAssets(tester);
     /* do anything custom */
    });
    

    If you run into issues, please submit issues so we can expand on the default behavior. We expect that it is likely missing some cases.

    New API for configuring the toolkit

    Reworked the configuration API introduced in 0.4.0. The prior method relied on global state and could be error prone. The old implementation still functions, but has been marked as deprecated and will be removed in a future release.

    The new API can be invoked in flutter_test_config.dart to be applied for all tests within a given folder (or the entire package). Additionally, if there is a need to override configuration at a narrower scope, this API can be invoked in-line as well.

    GoldenToolkit.runWithConfiguration((){/* callback() */}, config: GoldenToolkitConfiguration(/* custom config here */));
    

    Added the ability to customize the generated filenames

    When using screenMatchesGolden or multiGoldenFile, you can now supply your own functions for controlling the naming of the files. This can be done using the configuration API mentioned above.

    GoldenToolkit.runWithConfiguration((){ /* callback() */}, config: GoldenToolkitConfiguration(fileNameFactory: (filename) => '' /*output filename*/));
    

    There are two methods that can be overridden:

    • fileNameFactory is used for screenMatchesGolden
    • deviceFileNameFactory is used for multiScreenGolden

    Future releases will likely consolidate these APIs.

    Thanks to @christian-muertz for this enhancement.

    Added additional utility functions for preparing for goldens

    Extracted out some public extension methods that were previously private implementation details of multiScreenGolden & screenMatchesGolden

    Added the following extensions. These can be used with any vanilla golden assertions and do not require multiScreenGolden, screenMatchesGolden, or GoldenBuilder.

    // configures the simulated device to mirror the supplied device configuration (dimensions, pixel density, safe area, etc)
    await tester.binding.applyDeviceOverrides(device);
    
    // resets any configuration applied by applyDeviceOverrides
    await tester.binding.resetDeviceOverrides();
    
    // runs a block of code with the simulated device settings and automatically clears upon completion
    await tester.binding.runWithDeviceOverrides(device, body: (){});
    
    // convenience helper for configurating the safe area... the built-in paddingTestValue is difficult to work with
    tester.binding.window.safeAreaTestValue = EdgeInsets.all(8);
    
    // a stand-alone version of the image loading mechanism described at the top of these release notes. Will wait for all images to be decoded
    // so that they will for sure appear in the golden.
    await tester.waitForAssets();
    

    Misc Changes

    A few API / parameters were marked as deprecated and will be removed in future releases.

    Source code(tar.gz)
    Source code(zip)
  • v0.3.1(Apr 13, 2020)

    0.3.1

    Resolve an issue where configuration performed on WidgetTester during multiScreenGolden could bleed over to other tests in the same file. Add additional convenience helpers for the Device class.

    Source code(tar.gz)
    Source code(zip)
  • v0.2.0-dev(Feb 10, 2020)

    Improved the mechanism for loading font assets. Consumers no longer need to supply a directory to read the .ttf files from.

    They can now simply call: await loadAppFonts() and the package will automatically load any font assets from their pubspec.yaml or from any packages they depend on.

    Source code(tar.gz)
    Source code(zip)
  • v0.1.0-dev(Feb 10, 2020)

    Initial release. Includes utility methods for easily pumping complex widgets, loading real fonts, and for writing more advanced Golden-based tests.

    Features

    • GoldenBuilder for widget integration tests that visually indicate different states of a widgets in a single Golden test.
    • multiScreenGolden for pumping a widget and performing multiple Golden assertions with different device characteristics (e.g. screen size, accessibility options, etc)

    We expect to make breaking changes over the next few releases as we stabilize the API.

    Source code(tar.gz)
    Source code(zip)
Owner
eBay
https://ebay.github.io/
eBay
This is an auction application just like eBay. Using firebase as the backend for signup & sign-in functionality. In addition to that, it's a two pages application with user bid in input and count down view.

Nilam This is an auction application just like eBay. Using firebase as the backend for signup & sign-in functionality. In addition to that, it's a two

Md. Siam 5 Nov 9, 2022
Aq flutter tools - AQ flutter tools - Responsive Images, Translations and more

Made by AQuadic Getting started Important Links AQuadic Script Requirement This

Aquadic 0 Feb 7, 2022
Encode App-Dev is a open source project which contains different projects of Application development, Android development, IOS development, Flutter, Kotlin, Dart, Java, Swift etc.

HACKTOBERFEST 2022 Encode App-Dev is an open source project which contains different projects of Application development, Android development, IOS dev

null 4 Dec 4, 2022
A container image with flutter and various CI tools.

flutter-ci-tools A Docker container built from the cirrusci/flutter image, with various CI tools. Project Notes With the available tools you can: depl

null 1 Jan 12, 2022
[Flutter SDK V.2] - Youtube Video is a Flutter application built to demonstrate the use of Modern development tools with best practices implementation like Clean Architecture, Modularization, Dependency Injection, BLoC, etc.

[Flutter SDK V.2] - Youtube Video is a Flutter application built to demonstrate the use of Modern development tools with best practices implementation like Clean Architecture, Modularization, Dependency Injection, BLoC, etc.

R. Rifa Fauzi Komara 17 Jan 2, 2023
Raden Saleh 20 Aug 12, 2023
Raden Saleh 53 Jul 27, 2023
Redesign Unsplash Mobile Application with flutter tools.

flutter_splash Redesign Unsplash Mobile Application with flutter tools. About its open source application based Unsplash API for training Flutter , Di

pouya 1 Sep 5, 2021
Devtools - Performance tools for Flutter

Dart & Flutter DevTools What is this? Dart & Flutter DevTools is a suite of performance tools for Dart and Flutter. Getting started For documentation

Flutter 1.3k Dec 29, 2022
A set of useful sliver tools that are missing from the flutter framework

sliver_tools A set of useful sliver tools that are missing from the flutter framework. Here is a taste what you can make using this package The struct

Pieter van Loon 419 Jan 4, 2023
A PC client to control mobiles by adb tools in Flutter.

mobile_controller A new Flutter project for PC to control mobiles by adb tool. Develop in progress, not release yet... Features Provide computer contr

Flukit 5 Nov 15, 2022
Provide powerfull tools to help you build your Flutter design system.

Provide powerfull tools to help you build your design system. About flutter_design contains packages to help you bootstrap your design system with a w

Min Zhao 23 Dec 3, 2022
PalestineDevelopers is an open-source tools code-base

PalestineDevelopers مبادرة لإحياء إسم فلسطين بتقديم أدوات برمجية تحمل إسم أرض الميعاد Flutter Packages .. will be replaced .. will be replaced .. will

Mohamed Sayed 10 Jan 4, 2022
All the tools you need to build an app in 2 minutes

All the tools you need to build an app in 2 minutes. This is the main, standard CC Core. The plan is to make this into smaller, independent modules, but for now we are making it all available.

CoCreations 0 Dec 30, 2021
Custom bottom bar - A bottom tool bar that can be swiped left or right to expose more tools.

custom_bottom_bar A bottom tool bar that can be swiped left or right to expose more tools. usage Create your custom bottom bars with up to four custom

null 4 Jan 26, 2020
ABC of Flutter widgets. Intended for super beginners at Flutter. Play with 35+ examples in DartPad directly and get familiar with various basic widgets in Flutter

Basic Widgets Examples This is aimed for complete beginners in Flutter, to get them acquainted with the various basic widgets in Flutter. Run this pro

Pooja Bhaumik 815 Jan 3, 2023
Felipe Dias Casseb 2 Feb 9, 2022
A basic template of Flutter to get started. Includes various folders and packages that might be necessary.

Flutter App - Basic Template It's a time saving template with basic project structure, packages and other files like constants.dart to get started rat

Muhammad Hamza 47 Jun 12, 2022
A basic template of Flutter to get started. Includes various folders and packages that might be necessary.

Flutter App - Basic Template It's a time saving template with basic project structure, packages and other files like constants.dart to get started rat

Muhammad Hamza 47 Jun 12, 2022