Code Monkey home page Code Monkey logo

boxtout's Introduction

Hi there 👋

My name is Dane Mackier. I am the creator of FilledStacks.

  • 🔭 Over 2.7 million views
  • 🌱 Over 1.1 million blog sessions
  • ⭐️ Over 5.6k stars in github

Become a better Flutter engineer every week, in less then 10 minutes

boxtout's People

Contributors

adamschnaare avatar algokun avatar filledstacks avatar llewellyncollins avatar mxttwoods 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

boxtout's Issues

Streamline the process of setting up the backend

The setup to manage this firebase backend is pretty dope. I like it, other firebase devs like it and it seems like there's a consensus around the ease of expansion for this setup. The only problem that I currently have with it is that it's not standing on its own. Currently you have to write that glob code before you can use the "framework" laid out.

This ticket serves as a action item to track the progress of streamlining the setup required to use the "framework". I have asked for help from @llewellyncollins with this issue and we'll be discussing in the open to come up with a streamlined process of setting this up.

The main goal of this mission is:

Reduce the amount of code required before deploying a backend using the Reactive + RESTful API setup

We're not trying to build a backend building framework. We have a good system (of rules) that I think can scale very well so now we just have to focus on making that easier to start using and then as time goes on we'll establish certain rules for "good practice" within the system.

We'll develop it in a similar way that stacked was developed. If we need something in production that we have to write over and over we'll move it into the package and push out an update. If we don't need it or it doesn't improve the overall maintenance and speed of development then it won't be added.

Todo list of tasks required:

  • Refactor function setup to prep for moving it into its own package
  • Create a new repo for the package to be published from (Repo here)
  • Move the functionality in the functionParser into a new package called firebase-backend
  • Publish the package as v0.2.0 from the filledstacks repo
  • Refactor the Box't Out backend functions to use the new firebase-backend package

Activate discussion tab in your project

On github there is a new feature for discussions, which can be activated in the settings of your project. The discussions can also be grouped into different categories, so it will not spam the issues area.

disposeForm not called

In the video on integrating sign in, shouldn’t the disposeForm() method be called? I’m debugging breakpoints and not seeing that generated method called. Maybe it happens automatically? I just noticed it because the TextEditControllers seem to “randomly” drop off and not pick up new values (in my integration of it) after awhile, switching between screens. But that may have something to do with the emulator and hot reload, as restarting fixes it - for a little while.

In any case, wondering if missing the dispose would cause a leak?

      onModelReady: (model) => listenToFormUpdated(model),
      onDispose: () => disposeForm(),  // <--- MISSING??

[Discussion] Technical Product Architecture Planning

As mentioned at the end of the new video you can watch here this is the discussion where you can ask questions about the Technical Product Architecture. If you have suggestions please leave them below. The process of determining the best technical architecture is the same one we followed to determine the high level overview of the product architecture. We will walk through the largest and most important use case and technically detail what needs to happen or what would be the best way to do this. The scenario is as follows:

  1. User adds product to their cart
  2. User wants to checkout
  3. User has to add a payment method
  4. User checks out
  5. Order shows up on restaurant app
  6. Restaurant confirms the order and sends a preparation time
  7. Restaurant marks order ready for pickup
  8. Driver gets the order
  9. Driver delivers to the User

These are the high-level steps for the most important process in this service. We will use this to determine the following technical details that would be required before we start writing any code.

  • Establish how the data will flow from a user client, through the services and back to the client
  • Establish which data models will be required to get the information from the client through the services and back to the client in the most effective manner
  • Establish the data collections that will be required to provide this information
  • Establish the usage of the cloud functions and their intentions

Once we have all this information we will have a better idea of what we are building which will give us a better platform to work off when planning the actual development work. Once the decisions have been made all of this will be moved into a document in the Wiki which will detail everything that has been decided.

stacked_firebase_auth-2.19.2 build error

stacked_firebase_auth-2.19.2/lib/src/firebase_authentication_service.dart:45:25:
Error: A value of type 'Future<String?>?' can't be returned from a function with return type 'Future<String>?' because 'String?' is nullable and 'String' isn't.
 - 'Future' is from 'dart:async'.
    return firebaseAuth.currentUser?.getIdToken();

pubspec.yaml:

Firebase

firebase_core: ^2.14.0
firebase_auth: ^4.6.3
cloud_firestore: ^4.8.2

Authentication

stacked_firebase_auth: ^2.19.2

Stacked State Management

stacked: ^3.4.1
stacked_services: ^1.2.0

[Question] [VERBOSE-2:profiler_metrics_ios.mm(203)] Error retrieving thread information: (os/kern) invalid argument

Cloned project

Added in Podfile:

platform :ios, '14.3'

Although can login and signup, but also got this message in VSCode:

[VERBOSE-2:profiler_metrics_ios.mm(203)] Error retrieving thread information: (os/kern) invalid argument

flutter --version
Flutter 2.1.0-11.0.pre.232 • channel master • https://github.com/flutter/flutter.git
Framework • revision 63eefe7a3d (6 hours ago) • 2021-03-12 11:00:03 -0500
Engine • revision 1b68503bc8
Tools • Dart 2.13.0 (build 2.13.0-125.0.dev)

Screenshot 2021-03-12 at 21 44 54

Did

dart migrate --apply-changes

in another project, but not here.

Best to upgrade ?

firebase_core: ^0.7.0
firebase_auth: ^0.20.0+1

to:

firebase_auth: ^1.0.1
firebase_core: ^1.0.1

But if not updating then:

Running with unsound null safety
For more information see https://dart.dev/null-safety/unsound-null-safety

Update term for http function from idle to restful

As pointed out in this reply from Llewellyn. Instead of using idle for the http function group name, we should use the industry standard and call it restful.

This issue is created as the task to update the naming in the documentation as well as in the code

  • Update the term idle to restful in the written documentation
  • Update the term idle to restful in the codebase

If you'd like to do this please comment below. I'll only get around to this on Thursday

Null Safety Error after changing stacked_generator version

I have been following your channel in the Box't Out project. In the section of implementing the Login and Sign up pages, you asked that the stacked_generator library is changed to version ^0.2.4 . I immediately go the following error after making that change.

[customer] flutter pub get
Running "flutter pub get" in customer...
The current Dart SDK version is 2.10.5.

Because stacked_generator >=0.2.4 depends on analyzer >=0.42.0-nullsafety.0 which requires SDK version >=2.12.0-0 <3.0.0, stacked_generator >=0.2.4 is forbidden.

So, because customer depends on stacked_generator ^0.2.4, version solving failed.
pub get failed (1; So, because customer depends on stacked_generator ^0.2.4, version solving failed.)
exit code 1

Please Help. Flutter version (1.22.6)

web support

  1. With this repo, this is good way to fully test stacked if it works on web, would be nice if is tested here.

Build BoxtOut AddressSelectionUI

Address Selection UI sync

The functionality for the Address selection has been built. At the moment it does not match the styling from the designs. See attached.

12-Enter Address
13-Type location

In this ticket we need to:

  • Build the AutoCompleteListItem to match the design
  • Add the animation to move the "search input" higher when the user focus's on it
  • Hide the keyboard and auto complete results when user selects a location
  • Center the floating continue button on the Scaffold
  • Hide the floating continue button until we have selected a value

The PR for this ticket will be reviewed in a FilledStacks episode so keep it tight! Keep things neat :)

I hope someone does it lol. Otherwise I'm talking to myself. Which happens a lot 😄

[Question] how to flutter run from terminal

how to run from terminal

MacBook-Pro:bm_ui roliesdonald$ flutter run example/lib/main.dart
No supported devices connected.
The following devices were found, but are not supported by this project:
Redmi 6A (mobile) • 030a68b07d26 • android-arm • Android 9 (API 28)
macOS (desktop) • macos • darwin-x64 • Mac OS X 10.14.6 18G103 darwin-x64
Chrome (web) • chrome • web-javascript • Google Chrome 92.0.4515.159
If you would like your app to run on android or macos or web, consider running flutter create . to
generate projects for these platforms.

@FilledStacks

Can Firebase Security Rules be manages from separate files in Source Control

This question came up during technical planning. I wanted each of the 5 backend groups of serverless functions to manage their own firebase rules. This would make it more maintainable over the long run. This ticket is here in case anyone following the project want to help me answer or do the experiment for me. The way we would do the experiment is as follows.

  1. Setup two firebase folders on your machine connected to the same Firebase project.
  2. Init the security rules and make them different in both of those folders
  3. Deploy project ones rules, check that they are there.
  4. Deploy project two's rules, check if projects ones rules are still available.

This is most likely going to fail and the rules will be replaced by the second deploy. The next step of the experiment is to spend maximum an hour to see if there's a way that we can setup an npm script that will get all the rules from different folders, combine it and then deploy that. I'm not skilled in the npm management / setup but when I get to this point I'll probably check for it.

If that's not possible then we'll most likely have to maintain all the firebase security rules in one massive file which will be a maintenance nightmare. Comments will become our friend in there with clear separation between the groups and their functions.

If anyone will take this on please comment in here and i'll change the label to in progress, otherwise I'll keep it open until I get to this point.

rimraf is not recognized as an internal or external command

When running npm run build in the backend/functions folder the error

'rimraf' is not recognized as an internal or external command, operable program or batch file. is thrown. Full error below.

PS D:\Code\Clients\FilledStacks\boxtout\src\backend\functions> npm run build

> functions@ prebuild D:\Code\Clients\FilledStacks\boxtout\src\backend\functions
> npm run clean


> functions@ clean D:\Code\Clients\FilledStacks\boxtout\src\backend\functions
> rimraf lib/

'rimraf' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! functions@ clean: `rimraf lib/`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the functions@ clean script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\User\AppData\Roaming\npm-cache\_logs\2021-02-15T13_29_18_968Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! functions@ prebuild: `npm run clean`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the functions@ prebuild script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\User\AppData\Roaming\npm-cache\_logs\2021-02-15T13_29_19_034Z-debug.log

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.