Skip to content

fredgrott/base_rvierpod

Repository files navigation

Base Riverpod

git-repo-card

TwitterXingkeybasegithubmediumlinkedindartfluttervscodeandroid studiomarkdownbsdlicense

HitCountMaintainerGitHub forksGitHub starsGitHub followersGitHub contributorsGitHub issuesGitHub issues-closed

This is a base flutter project that is already set-up with:

-Integration Testing

-Debug logging

-Provider Widget Injection

-Widget Testing

-Workflow automation using Derry scripting

-App Architecture set-up as Domain Driven Architecture

It is my belief that enough deliberate practice with the right feed-back building full flutter apps will get you to transform to flutter expert in 1000 hours.

TODO NOTE

As of 4-4-21, the support for integration_test screenshots on iOS and android has been merged per:

screenshot issues

Once it shows up in the sdk, I will enable that in the integration-test implementation. It's needed as all the plugins rely upon the old integration-test implementation which is no longer in the flutter sdk.

Reasoning

The reasoning for doing it the skeleton-app way of learning Flutter-state-management:

  • Any state management based on ChangeNotifier is O*N^2 which is terrible performance due to use of plain list instead of Linked-List

  • The best performance state management library is the one that has the best decoupling with the best small memory foot-print.

  • It's easier to teach reactive if we modify the Flutter SDK Reactive training wheels

  • It's easier to pick-up Flutter self-learning wise if you use testing feed-back all the time from the beginning in using this skeleton app to build a bunch of flutter apps

This project is part of the Flutter-Deep-Dive series of developer articles and developer books with the main repo found here:

-Flutter Deep Dive repo

Framework Prerequisites

Install these prerequisites before using the Flutter SDK:

-Git

At least one SDK target. In March 2021, the Flutter SDK requires at least one mobile SDK installed:

-Android SDK, can be auto-installed via the Android Studio Install

-iOS SDK can be auto-installed via installing Xcode Studio

Project Prerequisites

These are the Dart Binaries that you need to install for my flutter projects:

-Derry

-DCDG, UML generation

-junitreport

-DartDoc

-Dhttpd, it's optional if you want to view API docs generated correctly

The prerequisites for these dart binaries are:

-PlantUML, UML Generation

-GENHTML, which is part of LCOV I am showing the windows port

-GENHTML, LCOV on Unix-Linux systems

Usage

To use this project, you can clone it via the terminal with:

git clone https://github.com/fredgrott/base_riverpod.git

And then modify for your use.

License

Note, I no longer use any GNU(FSF) for my code due to FSF not banning RSM form the board for his support of Epstein. And that rule will be for the rest of my life.

BSD 2-clause license

Acknowledgements

Contributing

Not taking contributions at this time.

Trademark Notice

Google LLC owns the following trademarks; Dart, Flutter, Android, Roboto, Noto. Apple Inc owns the trademarks iOS, MacOSX, Swift, and Objective-C. Apple Inc owns the trademarks to their fonts of SF Pro, Sf Compact, SF mono, and New York. JetBeans Inc owns the trademarks to JetBeans, IntelliJ, and Kotlin. Oracle Inc owns the Java trademark. Microsoft Inc owns the trademarks of MS Windows OS and Powershell. Gradle is a trademark of Gradle Inc. The Git Project owns the trademark to Git. Linux Foundation owns the trademark of Linux. Smartphone OEM's trademarks to their mobile phone product names. To the best of my ability, I follow the brand and usage guidelines with the above-mentioned trademarks.

About Fred Grott

I'm the crazy one that is starting to teach Flutter App development during the COVID-pandemic. The first Flutter App development book in my Flutter-Deep-Dive series is being published in the fall of 2021. My Flutter Development articles are published at:

My medium blog

Personal Keybase site is:

-My Keybase Site

And, I can be DM'ed on Keybase at:

-My Keybase Profile

Resources

Specific articles:

-Logging, The Expert Way at Medium.com

General Resources:

-Riverpod repo

-Riverpod @pub.dev

-Catcher @pub.dev

-Catcher @github.com

-Fimber@pub.dev

-Fimber@github.com

-Logging@pub.dev

-Logging@github.com

-Logging Appenders@pub.dev

-Logging Appenders@github.com

-Flutter Platform Widgets@pub.dev

-Flutter Platform Widgets@github.com

-Flutter State Management Benchmarks

-ChangeNotifier Benchmark, note that this includes the benchmark of the proposed but not in sdk changenotifier mod

Flutter Community Resources:

-Flutter Codelabs

-Flutter Community, where to ask individual questions

-Flutter Docs

-Dart Language Tour

-Dart Docs

-Deep Dive into the Pubspec

About

flutter app skeleton using riverpod

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages