Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PR] Updating README with latest version. #69

Merged
merged 35 commits into from
Jan 13, 2023
Merged

[PR] Updating README with latest version. #69

merged 35 commits into from
Jan 13, 2023

Conversation

LuchoTurtle
Copy link
Member

closes #68

Initially thought I could tackle this in the morning but it took much longer than expected since I tried to actually understand what I was learning and writing about. Much of the information in the README was either insufficient or outdated, so I had to quite literally remake the whole README from scratch.

I'm still wanting to add a few more sections and a simple application demo to showcase most of the principles showcased in the README.

I'm going to additionally remake some of the guides that are present, as well. So this could take a little while.

@LuchoTurtle LuchoTurtle added documentation Improvements or additions to documentation enhancement New feature or request good first issue Good for newcomers chore in-progress labels Nov 8, 2022
@LuchoTurtle LuchoTurtle self-assigned this Nov 8, 2022
@LuchoTurtle LuchoTurtle marked this pull request as draft November 8, 2022 20:00
@nelsonic
Copy link
Member

nelsonic commented Nov 10, 2022

@LuchoTurtle this PR is looking great so far! 😍
You're doing a superb job of re-writing this guide and it will be immensely useful to us and the wider community. 🎉

Quick Feedback: please comment as your adding things so that anyone following along can see what you're learning
and push your code regularly so you don't accumulate too much Work-in-Progress.

Also, try to reference the issue in your commit messages so that the history is easier to follow.

feat: Add state management. #68

If we can be consistent with referencing issues in our commits then it makes it easier for people in the future to understand the changes when they git blame. 💭

Note: I need to get better at this myself. Not picking on you specifically. Just something I noticed. 👌


Suggested reading on WIP:
In Agile Development (so Scrum, Kanban, etc.) Work-in-Progress is classed as "Waste" ... I know it's harsh but it's fact.
Basically every half-finished Pull Request I've worked on is "wasted effort"
https://agilevelocity.com/lean-economics-101-the-power-of-wip-limits
If the term "Work In Progress" is new to you, a more real-world example might be helpful:
https://opexlearning.com/resources/5-practical-examples-of-work-in-process/26648/
And for a more in-depth scientific article, see: "Lean and agile manufacturing for work-in-process (WIP) control":
https://www.sciencedirect.com/science/article/pii/S2214785320401907

@nelsonic
Copy link
Member

image

image

image

image

image

image

@nelsonic
Copy link
Member

cd demo_app

flutter doctor
Running "flutter pub get" in flutter_tools...                       6.9s
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.8, on macOS 13.0.1 22A400 darwin-arm, locale en-GB)
[!] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✗] Xcode - develop for iOS and macOS
    ✗ Xcode installation is incomplete; a full installation is necessary for iOS development.
      Download at: https://developer.apple.com/xcode/download/
      Or install Xcode via the App Store.
      Once installed, run:
        sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
        sudo xcodebuild -runFirstLaunch
    ✗ CocoaPods not installed.
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] VS Code (version 1.73.1)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

! Doctor found issues in 2 categories.

@nelsonic
Copy link
Member

flutter doctor --android-licenses
Android sdkmanager not found. Update to the latest Android SDK and ensure that the cmdline-tools are installed to resolve this.

@nelsonic
Copy link
Member

image

@nelsonic
Copy link
Member

image

@nelsonic
Copy link
Member

Accept? (y/N): y
All SDK package licenses accepted

@nelsonic
Copy link
Member

image

image

image

image

image

@nelsonic
Copy link
Member

image

No Thanks.

@nelsonic
Copy link
Member

flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.8, on macOS 13.0.1 22A400 darwin-arm, locale en-GB)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] VS Code (version 1.73.1)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

• No issues found!


SQLite is one of the most popular methods for storing data locally.
For this demo, we will use the package
[`sqflite`](https://pub.dev/packages/sqflite).
Copy link
Member

@nelsonic nelsonic Nov 22, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a fan of using sqflite in our tutorial because, as noted in: #70 we will be using drift because it has muuuch better features, Web Support and extensive testing.

sqflite looks quite "unkept" ... https://pub.dev/packages/sqflite

sqflite-no-web-build-failing

Copy link
Member Author

@LuchoTurtle LuchoTurtle Nov 22, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried to keep the original structure, hence why I did a rundown with sqflite.
drift actually uses sqflite under the hood.

Do you want me to add a section for drift or...?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed. drift uses drift_sqflite which in turn depends on sqflite drift_sqflite/pubspec.yaml#L13 👀
but appears to add quite a few enhancements ... ✨

We don't need to update the tutorial yet. ⏳
I just want to finish reading through this. 🙏
But left a comment as a reminder. 💭

@nelsonic nelsonic mentioned this pull request Nov 29, 2022
2 tasks
@LuchoTurtle LuchoTurtle self-assigned this Dec 13, 2022
@LuchoTurtle
Copy link
Member Author

@nelsonic I'm going to be reviewing this README for typos and formatting and will commit them to make your life easier.

@LuchoTurtle
Copy link
Member Author

Formatted and fixed typos on README.
Also fixed CI (working directory was changed with this PR).

@codecov
Copy link

codecov bot commented Dec 13, 2022

Codecov Report

❗ No coverage uploaded for pull request base (main@b665295). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             main       #69   +/-   ##
========================================
  Coverage        ?   100.00%           
========================================
  Files           ?         4           
  Lines           ?        70           
  Branches        ?         0           
========================================
  Hits            ?        70           
  Misses          ?         0           
  Partials        ?         0           

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

Copy link
Member

@nelsonic nelsonic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@LuchoTurtle awesome work as always! Let's ship this and get it into the hands of more people! :shipit:
There will be enhancements especially from @SimonLab who will need to go through this on Linux 🐧

Thanks again! 🎉

@nelsonic nelsonic merged commit 9f684aa into main Jan 13, 2023
@nelsonic nelsonic deleted the update-info branch January 13, 2023 09:48
@nelsonic nelsonic mentioned this pull request Jan 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore documentation Improvements or additions to documentation enhancement New feature or request good first issue Good for newcomers in-review priority-1
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Chore: Tidy up and Extend Learn Flutter Docs 📝
2 participants