Giter VIP home page Giter VIP logo

flutter-design-patterns's Introduction

flutterdesignpatterns.com deployment

Flutter Design Patterns

An open-source OOP design patterns application built with Dart and Flutter.

https://flutterdesignpatterns.com/

This application is an implementation part of the "Flutter Design Patterns" article series.

Home Page Creational Design Patterns Structural Design Patterns Behavioral Design Patterns Design Pattern Markdown Flyweight Design Pattern Example Command Design Pattern Example Iterator Design Pattern Example Prototype Design Pattern Example

Building

You can follow these instructions to build the app and install it onto your device.

Prerequisites

If you are new to Flutter, please first follow the Flutter Setup guide.

Building and installing the Flutter Design Patterns app

git clone https://github.com/mkobuolys/flutter-design-patterns.git
cd flutter-design-patterns
flutter pub get
flutter pub run build_runner build --delete-conflicting-outputs
flutter run

The flutter run command both builds and installs the Flutter app to your device or emulator.

flutter-design-patterns's People

Contributors

andantonyan avatar juliotati avatar mkobuolys avatar theiskaa avatar victorcatn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flutter-design-patterns's Issues

Code selection is not visible

Whatever code I select, I can't see if it is selected or not.

The first code block I actually selected.
The second, I didn't.
Screenshot 2022-06-07 at 6 37 03 PM

Maybe add a color to SelectableText widget.

Build failed

Tried to build apk.

[INFO] Generating build script...
[INFO] Generating build script completed, took 1.1s

[INFO] Initializing inputs
[INFO] Reading cached asset graph...
[INFO] Reading cached asset graph completed, took 423ms

[INFO] Checking for updates since last build...
[INFO] Checking for updates since last build completed, took 2.0s

[INFO] Running build...
[INFO] Running build completed, took 75ms

[INFO] Caching finalized dependency graph...
[INFO] Caching finalized dependency graph completed, took 294ms

[INFO] Succeeded after 410ms with 0 outputs (0 actions)

PS C:\Users\haris\OneDrive\Documents\My Repo\flutter-design-patterns> flutter build apk --split-per-abi 

๐Ÿ’ช Building with sound null safety ๐Ÿ’ช

/C:/FlutterSDK/flutter/.pub-cache/hosted/pub.dartlang.org/auto_route-2.4.2/lib/src/router/provider/auto_route_information_provider.dart:28:8: Error: The method 'AutoRouteInformationProvider.routerReportsNewRouteInformation' doesn't have the named parameter 'type' of overridden method 'RouteInformationProvider.routerReportsNewRouteInformation'.
  void routerReportsNewRouteInformation(RouteInformation routeInformation,
       ^
/C:/FlutterSDK/flutter/packages/flutter/lib/src/widgets/router.dart:1329:8: Context: This is the overridden method ('routerReportsNewRouteInformation').
  void routerReportsNewRouteInformation(RouteInformation routeInformation, {required RouteInformationReportingType type}) {}
  ^^^^^^^^^^^^^
/C:/FlutterSDK/flutter/.pub-cache/hosted/pub.dartlang.org/auto_route-2.4.2/lib/src/router/delegate/auto_router_delegate.dart:43:43: Error: Required named parameter 'type' must be provided.
        ?.routerReportsNewRouteInformation(
                                          ^


FAILURE: Build failed with an exception.

* Where:
Script 'C:\FlutterSDK\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1070

* What went wrong:
Execution failed for task ':app:compileFlutterBuildRelease'.
> Process 'command 'C:\FlutterSDK\flutter\bin\flutter.bat'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 39s
Running Gradle task 'assembleRelease'...                           41.3s
Gradle task assembleRelease failed with exit code 1```

duplication in turn lightOn

https://github.com/mkobuolys/flutter-design-patterns/blob/66707f0cfbba37da360b3b470d833c17a0062a84/lib/design_patterns/facade/facades/smart_home_facade.dart#L56C1-L56C1

hi, first of all, I want to thank you for your amazing repo,

I just noticed that in the referenced function (stopStreaming) you turned the lights On which is already on, based on your previous function (startStreaming), and is there any reason to add turnLightsOn() again?

thank you in advance for your clarification

void startStreaming(SmartHomeState smartHomeState) {
smartHomeState.lightsOn = smartHomeApi.turnLightsOn();
smartHomeState.tvOn = tvApi.turnOn();
gamingFacade.startStreaming(smartHomeState);
}

void stopStreaming(SmartHomeState smartHomeState) {
gamingFacade.stopStreaming(smartHomeState);
smartHomeState.tvOn = tvApi.turnOff();
smartHomeState.lightsOn = smartHomeApi.turnLightsOn();
}

StreamController.broadcast() seems redundant

StreamController.broadcast() seems redundant, maybe try to modify it to StreamController().
2022-02-20_011915

Although it looks like the ObserverExample uses the stockStream.listen() twice, but since the two StreamControllers are different, So there will be no error exception, it may not be necessary to use StreamController.broadcast().
2022-02-20_012047

BUILD FAILED

build failed running in ios

** BUILD FAILED **
Xcode's output:
โ†ณ
: Error: No named parameter with the name 'builder'.
lib/navigation/router.gr.dart:20
builder: (_) {
^^^^^^^
: Context: Found this candidate, but the arguments don't match.
../โ€ฆ/router/auto_route_page.dart:64
MaterialPageX({
^^^^^^^^^^^^^
: Error: No named parameter with the name 'builder'.
lib/navigation/router.gr.dart:25
builder: (data) {
^^^^^^^
: Context: Found this candidate, but the arguments don't match.
../โ€ฆ/router/auto_route_page.dart:64
MaterialPageX({
^^^^^^^^^^^^^
Failed to package /Users/kanakapallianurag/Downloads/flutter-design-patterns-master.
Command PhaseScriptExecution failed with a nonzero exit code

Add better image view

It would be nice to zoom images provided in the markdown files of the design patterns.

This feature is already implemented with #24, but due to changes in the codebase and migration to Dart null-safety the code is already outdated and this solution should be reworked.

Question: Playstore

can i publish your work(app) in playstore? i like to study when travelling. by the way awesome work.

Good work!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.