Point of Sale

Overview

GitHub issues GitHub PR GitHub Forks

Contributors

GitHub Contributors

Your Repository's Stats

About ThePOS

An open-source initiative that belongs to Gaza Tech Community to encourage the Gazans developer to share their knowledge with each other and contribute to the open-source world.

Built With

We chose GetX as the main State Management for this project so we can balance the experience of the contributors, GetX will be easier for beginners to catch and at the same time, we ensure the separation of the business logic from the presentation correctly and avoid boilerplate code.

For more info about GetX check this link

Getting Started

You can contribute right now by just forking this project and adding your magic to this project that is in continuous growth. If it is your first time contributing you can check Mohammed Sufian's video explaining how to do your first Pull Request.

Watch the video

Main concepts

  • Offline first support
  • API Driven development
  • Total separation between frontend and backend
  • Use OpenAPI and Mocking to decouple teams
  • Use Github and Kanban project board

Contributing

Thank you for considering contributing to thePOS project! Feel free to contribute in any way you want.

Contributions are what makes the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Important Resources for Contributing

  1. API Specification here
  2. Tablet/Desktop Design here
  3. Mobile Design here

License

ThePOS is open-sourced software licensed under the MIT license.

Comments
  • Products cache policy

    Products cache policy

    Hello again ๐Ÿ‘‹๐Ÿผ

    In this PR, I worked on products cache policy.

    Products cache policy:

    our cache policy is simply "remove products from the cache after x time interval"

    so when we insert the product into the cache we also save the current time to shared preference to check the expiration of cache late on.

      Future<Iterable<int>> insertProducts(List<Product> products) async {
        final SharedPreferences sharedPreferences =
            await SharedPreferences.getInstance();
        sharedPreferences.setInt(
            cacheTimeKey, DateTime.now().millisecondsSinceEpoch);
        return productsBox.addAll(products);
      }
    
    

    and when we retrieve the products from the cache, first of all, we check the expiration of the cache, and if the cache is expired we delete all the cache.

      Future<List<Product>> getProductsByGroupId(int groupId) async {
        final bool isCacheExpired = await _isCacheExpired();
        if (isCacheExpired) {
          await productsBox.deleteFromDisk();
          return <Product>[];
        } else {
          return productsBox.values
              .where((Product product) => product.groupId == groupId)
              .toList();
        }
      }
    

    For more details please check the code changes section.

    issues to solve:

    • product image caching.

    Somethings to improve:

    • improve UI code.
    • write some unit tests for HomeLocalDataSource functionality and HomeRepository.
    • try to merge my work on PR #11 with @MohammedAlimoor PR #26, or delete unused files from #11 PR.
    opened by salahamassi 6
  • - add barcode scanner library

    - add barcode scanner library

    Description

    Please include a summary of the change and which issue is fixed and List any dependencies that are required for this change..

    Fixes # (issue)

    Type of change

    Please delete options that are not relevant.

    • [ ] Bug fix
    • [x] New feature

    Checklist:

    • [ ] I have performed a self-review of my own code.
    • [ ] My changes generate no new warnings on the project.
    opened by byshy 4
  • Products Remote Loader

    Products Remote Loader

    Hello & Welcome to my first PR ๐Ÿ‘‹๐Ÿผ

    based on this diagram that I draw (feel free if you think there are a better approach to perform this future )

    my_diagram

    I believe first we need to implement product loader class remote and local In this PR I worked on remote products loader.

    I'm new to the flutter framework, I'm coming from iOS World so I think there are a lot of improvements we can apply to the code especially test code.

    What next

    1- improve this PR Code. 2- work on local products loader. 3- create a new loader class that tries to get data from the internet first and on a fail case try to get data from the cache.

    maybe the code will be something like this

    class FallBackProductLoader extends ProductsLoader {
      final ProductsLoader remoteLoader;
      final ProductsLoader localLoader;
    
      FallBackProductLoader(this.remoteLoader, this.localLoader);
    
      @override
      Future<List<Product>> loadProducts() {
        try {
          return remoteLoader.loadProducts();
        } catch (error) {
          return localLoader.loadProducts();
        }
      }
    }
    
    
    opened by salahamassi 4
  • Home Page Structure Of Getx Controller

    Home Page Structure Of Getx Controller

    This commit try to redesign the structure of define the Getx Controller on Home Controller to be in code style of builder to use the controller later with OBX and builder in easier way.

    In other hand , later in any other page you can define the controller without put and use the style like this commit way , or you can find the controller in this code structure with Get.find instead of HomeController() definition.

    opened by devmatrash 4
  • Login

    Login

    Login Feature

    Description

    Work on login Feature

    Pos Login drawio

    The interesting part of the above diagram is LoginUseCaseOutputComposer Any Object interest about login result needed to implement or extend the LoginUseCaseOutput

    In our case, we have three components interested in login result

    • LoginController (change state of UI based on login result)
    • AuthManager (save the login result to the device cache)
    • LoginRouter (navigate to the home screen, or show an error message)

    all of these classes implement the LoginUseCaseOutput.

    and compose all of them using LoginUseCaseOutputComposer which is already implement the LoginUseCaseOutput

    finally, we pass LoginUseCaseOutputComposer to LoginUseCase so all these Objects will know about the login result.

        final LoginUseCase useCase = LoginUseCase(
          loginService: loginService,
          output: LoginUseCaseOutputComposer(<LoginUseCaseOutput>[
            loginController,
            authManager,
            loginRouter,
          ]),
        );
    

    Login results will be sent in the same order we compose the LoginUseCaseOutputComposer outputs, on our case and as the above code shows:

    • to the LoginController to update the UI state.
    • to the AuthManager to save the token on the success case.
    • finally to the LoginRouter to show the error message or navigate to the home screen.

    and we have a test to verify this behavior

      test('makeUseCase should compose correct outputs with correct order',
          () async {
        SharedPreferences.setMockInitialValues(<String, String>{});
    
        final SharedPreferences sharedPreferences =
            await SharedPreferences.getInstance();
    
        final LoginService loginService = DummyLoginService();
        final LoginController loginController = LoginController();
        final LoginRouter loginRouter = LoginRouter(NavigatorFactorySpy());
        final AuthManager authManager = AuthManager(sharedPreferences);
    
        final LoginUseCaseFactory sut = LoginUseCaseFactory();
        final LoginUseCase useCase = sut.makeUseCase(
          authManager: authManager,
          loginRouter: loginRouter,
          loginController: loginController,
          loginService: loginService,
        );
    
        final LoginUseCaseOutput output = useCase.output;
    
        expect(output, isInstanceOf<LoginUseCaseOutputComposer>());
    
        final LoginUseCaseOutputComposer outputComposer =
            output as LoginUseCaseOutputComposer;
        expect(outputComposer.outputs.length, 3);
        expect(outputComposer.outputs[0], isInstanceOf<LoginController>());
        expect(outputComposer.outputs[1], isInstanceOf<AuthManager>());
        expect(outputComposer.outputs[2], isInstanceOf<LoginRouter>());
      });
    

    so in the future, if we need to add a Logger or Event tracker to LoginUseCase:

    class Logger extends LoginUseCaseOutput {
    
      @override
      void onLoginSuccess(LoginResult result) {
          // perform logger work
      }
    
      @override
      void onLoginFail(LoginErrors error) {
         // perform logger work
      }
    }
    

    add logger to LoginUseCaseOutputComposer

        final LoginUseCase useCase = LoginUseCase(
          loginService: loginService,
          output: LoginUseCaseOutputComposer(<LoginUseCaseOutput>[
            loginController,
            authManager,
            loginRouter,
           logger,
          ]),
        );
    

    it's too easy ๐Ÿš€

    any suggestions? ๐Ÿง

    Items to work on:

    • improve login UI
    • create a new view for web login
    • currently, the login router always navigates to mobile home UI, we need a generic way to make the NavigatorFactory decide the correct route based on the platform we run the app on (web or mobile).

    Fixes #42

    Type of change

    • [ ] New feature

    Checklist:

    • [x] I have performed a self-review of my own code.
    • [x] My changes generate no new warnings on the project.
    opened by salahamassi 3
  • Filter product by categories

    Filter product by categories

    Issue Requirements The user can filter items based on their category.

    API Documentation Check the GET METHOD Get Product Categories and check category field in Products repository. Endpoint: /api/v2/product-categories

    Mobile Design image

    Tablet and Web Design image

    enhancement 
    opened by AhmedHamdan54 3
  • qr

    qr

    Description

    Please include a summary of the change and which issue is fixed and List any dependencies that are required for this change..

    Fixes # (issue)

    Type of change

    Please delete options that are not relevant.

    • [ ] Bug fix
    • [ ] New feature

    Checklist:

    • [ ] I have performed a self-review of my own code.
    • [ ] My changes generate no new warnings on the project.
    opened by HassanBalousha 3
  • Mobile UI

    Mobile UI

    Description

    Working on mobile UI.

    1- We have a different screen for mobile, web common widgets like key_pad.

    image

    2- create routes for web and mobile

    image

    3- check the platform and return the correct route

    final String initial = kIsWeb ? WebRoutes.SPLASH : MobileRoutes.HOME;
    
    final List<GetPage<Widget>> routes = kIsWeb ? webRoutes : mobileRoutes;
    
    

    any suggestions?

    Fixes #17

    Type of change

    • [ ] New feature

    Checklist:

    • [x] I have performed a self-review of my own code.
    • [x] My changes generate no new warnings on the project.
    opened by salahamassi 3
  • How to setup a working local copy of this project?

    How to setup a working local copy of this project?

    Although The-POS-Flutter seems amazing and definitely one would wish to contribute to this project but there is no documentation in the readme file about setting up a working copy of this project in one's local machine for testing and development.

    It would be a lot helpful if you please provide detailed step by step instructions about how to setup a working copy of this project on local machine.

    opened by shujaatak 3
  • Get Product Categories

    Get Product Categories

    Description

    Please include a summary of the change and which issue is fixed and List any dependencies that are required for this change..

    Fixes # (issue)

    Type of change

    Please delete options that are not relevant.

    • [ ] Bug fix
    • [ ] New feature

    Checklist:

    • [ ] I have performed a self-review of my own code.
    • [ ] My changes generate no new warnings on the project.
    opened by HassanBalousha 2
  • Create new costumer

    Create new costumer

    Issue Requirements The user can create a new customer for the invoice

    API Documentation Check the POST METHOD Create New Customer. Endpoint: /api/v2/costumers

    enhancement 
    opened by AhmedHamdan54 2
  • HiveError: Box has already been closed.

    HiveError: Box has already been closed.

    This Exception sometimes show after launching the app

    =================================================================================================
    [VERBOSE-2:ui_dart_state.cc(209)] Unhandled Exception: HiveError: Box has already been closed.
    #0      BoxBaseImpl.checkOpen (package:hive/src/box/box_base_impl.dart:76:7)
    #1      BoxImpl._writeFrames (package:hive/src/box/box_impl.dart:83:5)
    #2      BoxImpl.putAll (package:hive/src/box/box_impl.dart:67:12)
    #3      BoxBaseImpl.addAll (package:hive/src/box/box_base_impl.dart:122:11)
    #4      HomeLocalDataSource.insertProducts (package:thepos/features/home/data/datasources/home_local_data_source.dart:21:24)
    #5      HomeRepository.getProducts (package:thepos/features/home/data/repositories/home_repository.dart:28:23)
    <asynchronous suspension>
    #6      HomeController.getProduct (package:thepos/features/home/presentation/controllers/home_controller.dart:59:31)
    <asynchronous suspension>
    
    
    opened by salahamassi 0
  • Incorrect use of ParentDataWidget.

    Incorrect use of ParentDataWidget.

    This Exception show after launching the app on mobile ui

    ======== Exception caught by widgets library =======================================================
    The following assertion was thrown while applying parent data.:
    Incorrect use of ParentDataWidget.
    
    The ParentDataWidget Expanded(flex: 1) wants to apply ParentData of type FlexParentData to a RenderObject, which has been set up to accept ParentData of incompatible type ParentData.
    
    Usually, this means that the Expanded widget has the wrong ancestor RenderObjectWidget. Typically, Expanded widgets are placed directly inside Flex widgets.
    The offending Expanded is currently placed inside a RepaintBoundary widget.
    
    The ownership chain for the RenderObject that received the incompatible parent data was:
      Center โ† Expanded โ† RepaintBoundary โ† IndexedSemantics โ† NotificationListener<KeepAliveNotification> โ† KeepAlive โ† AutomaticKeepAlive โ† KeyedSubtree โ† SliverList โ† Viewport โ† โ‹ฏ
    When the exception was thrown, this was the stack: 
    #0      RenderObjectElement._updateParentData.<anonymous closure> (package:flutter/src/widgets/framework.dart:5835:11)
    #1      RenderObjectElement._updateParentData (package:flutter/src/widgets/framework.dart:5851:6)
    #2      RenderObjectElement.attachRenderObject (package:flutter/src/widgets/framework.dart:5873:7)
    #3      RenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5544:5)
    #4      SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6194:11)
    ...     Normal element mounting (7 frames)
    #11     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3673:14)
    #12     Element.updateChild (package:flutter/src/widgets/framework.dart:3422:20)
    #13     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6202:14)
    #14     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #15     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6202:14)
    #16     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #17     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #18     Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #19     StatelessElement.update (package:flutter/src/widgets/framework.dart:4746:5)
    #20     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #21     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #22     Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #23     ProxyElement.update (package:flutter/src/widgets/framework.dart:5020:5)
    #24     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #25     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #26     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4840:11)
    #27     Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #28     StatefulElement.update (package:flutter/src/widgets/framework.dart:4872:5)
    #29     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #30     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #31     Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #32     StatelessElement.update (package:flutter/src/widgets/framework.dart:4746:5)
    #33     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #34     SliverMultiBoxAdaptorElement.updateChild (package:flutter/src/widgets/sliver.dart:1242:37)
    #35     SliverMultiBoxAdaptorElement.performRebuild.processElement (package:flutter/src/widgets/sliver.dart:1147:35)
    #36     Iterable.forEach (dart:core/iterable.dart:279:35)
    #37     SliverMultiBoxAdaptorElement.performRebuild (package:flutter/src/widgets/sliver.dart:1191:24)
    #38     SliverMultiBoxAdaptorElement.update (package:flutter/src/widgets/sliver.dart:1125:7)
    #39     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #40     RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5700:32)
    #41     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6356:17)
    #42     _ViewportElement.update (package:flutter/src/widgets/viewport.dart:228:11)
    #43     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #44     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6202:14)
    #45     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #46     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6202:14)
    #47     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #48     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6202:14)
    #49     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #50     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6202:14)
    #51     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #52     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #53     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4840:11)
    #54     Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #55     StatefulElement.update (package:flutter/src/widgets/framework.dart:4872:5)
    #56     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #57     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6202:14)
    #58     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #59     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #60     Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #61     ProxyElement.update (package:flutter/src/widgets/framework.dart:5020:5)
    #62     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #63     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6202:14)
    #64     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #65     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #66     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4840:11)
    #67     Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #68     StatefulElement.update (package:flutter/src/widgets/framework.dart:4872:5)
    #69     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #70     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #71     Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #72     ProxyElement.update (package:flutter/src/widgets/framework.dart:5020:5)
    #73     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #74     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #75     Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #76     StatelessElement.update (package:flutter/src/widgets/framework.dart:4746:5)
    #77     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #78     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #79     Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #80     StatelessElement.update (package:flutter/src/widgets/framework.dart:4746:5)
    #81     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #82     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #83     Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #84     ProxyElement.update (package:flutter/src/widgets/framework.dart:5020:5)
    #85     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #86     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #87     Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #88     ProxyElement.update (package:flutter/src/widgets/framework.dart:5020:5)
    #89     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #90     RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5700:32)
    #91     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6356:17)
    #92     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #93     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #94     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4840:11)
    #95     Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #96     StatefulElement.update (package:flutter/src/widgets/framework.dart:4872:5)
    #97     Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #98     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #99     Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #100    ProxyElement.update (package:flutter/src/widgets/framework.dart:5020:5)
    #101    Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #102    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #103    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4840:11)
    #104    Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #105    StatefulElement.update (package:flutter/src/widgets/framework.dart:4872:5)
    #106    Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #107    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6202:14)
    #108    Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #109    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #110    Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #111    StatelessElement.update (package:flutter/src/widgets/framework.dart:4746:5)
    #112    Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #113    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6202:14)
    #114    Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #115    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #116    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4840:11)
    #117    Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #118    StatefulElement.update (package:flutter/src/widgets/framework.dart:4872:5)
    #119    Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #120    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #121    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4840:11)
    #122    Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #123    StatefulElement.update (package:flutter/src/widgets/framework.dart:4872:5)
    #124    Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #125    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #126    Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #127    ProxyElement.update (package:flutter/src/widgets/framework.dart:5020:5)
    #128    Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #129    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #130    Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #131    StatelessElement.update (package:flutter/src/widgets/framework.dart:4746:5)
    #132    Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #133    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #134    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4840:11)
    #135    Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #136    StatefulElement.update (package:flutter/src/widgets/framework.dart:4872:5)
    #137    Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #138    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #139    Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #140    ProxyElement.update (package:flutter/src/widgets/framework.dart:5020:5)
    #141    Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #142    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #143    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4840:11)
    #144    Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #145    StatefulElement.update (package:flutter/src/widgets/framework.dart:4872:5)
    #146    Element.updateChild (package:flutter/src/widgets/framework.dart:3412:15)
    #147    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4690:16)
    #148    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4840:11)
    #149    Element.rebuild (package:flutter/src/widgets/framework.dart:4355:5)
    #150    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2620:33)
    #151    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:882:21)
    #152    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1143:15)
    #153    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1080:9)
    (elided 3 frames from dart:async)
    
    opened by salahamassi 0
Owner
The POS
The POS
This project is a starting point for a Flutter application.

calculadora A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if t

Fernando 16 Aug 22, 2022
This project is a starting point for a Flutter application.

sorting_visulization Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this is your fi

null 30 Sep 2, 2022
A flutter plugin to draw the coordinates on the widget and as well as to find the given point is inside a list of coordinates or not.

Draw On A flutter plugin to draw the coordinates on widget and as well as to find the given point is inside a list of coordinates or not. For Draw on

Sivaramsiva10 4 Apr 5, 2022
A library for parsing and encoding IEEE-754 binary floating point numbers.

Dart IEEE754 library This library provides decoding and transforming IEEE754 floating point numbers in binary format, double format, or as exponent an

null 0 Dec 24, 2021
A tab bar widget for Flutter ๐Ÿ’™ with point indicator.

flutter_point_tab_bar A tab bar widget with point indicator. Demo Usage TabBar( controller: _tabController, indicator: PointTabIndicator(

Hiแปƒn Lรช 5 Sep 16, 2022
This project is a starting point for a Flutter application

Flutter Firebase Auth Boilerplate Getting Started This project is a starting point for a Flutter application. A few resources to get you started if th

tustoz 2 Apr 25, 2022
A dart library to check if given point(s) are present inside polygon or not.

poly A library for checking if given point(s) is present inside Polygon or not. Contents Installation Examples Note: Instead of casting, use toListNum

Sacchi 9 Feb 25, 2022
A phone app that works as an offline lnurl-based point-of-sale.

LNURL-based Offline PoS app APK download: https://github.com/fiatjaf/lnurlpos-app/releases demo.mp4 Compatible with https://github.com/lnbits/lnbits-l

fiatjaf 16 Nov 23, 2022
This project is a starting point for a Flutter application.

result A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this i

Adam Musa Ya'u 22 Aug 24, 2021
This project is a starting point for a Flutter application.

calculadora A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if t

Fernando 16 Aug 22, 2022
This project is a starting point for a Flutter application.

flutter_notebook_12th_story A new Flutter application. Getting Started This project is a starting point for a Flutter application. A few resources to

Dreamwalker 9 Feb 5, 2022
This project is a starting point for a Flutter application.

sorting_visulization Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this is your fi

null 30 Sep 2, 2022
A flutter plugin to draw the coordinates on the widget and as well as to find the given point is inside a list of coordinates or not.

Draw On A flutter plugin to draw the coordinates on widget and as well as to find the given point is inside a list of coordinates or not. For Draw on

Sivaramsiva10 4 Apr 5, 2022
A package to display blinking point to your mobile app in Flutter

Blinking point Easy way to create a blinking point for your Flutter project. Installation Add this to your package's pubspec.yaml file: dependencies:

Tam Nguyen 13 Apr 18, 2022
Flutter Map plugin for ArcGIS Esri. Currently support feature layer (point, polygon)

Flutter Map plugin for ArcGIS Esri Currently support feature layer(point, polygon, polyline coming soon) We are working on more features A Dart implem

Munkh-Altai 17 Nov 9, 2022
A library for parsing and encoding IEEE-754 binary floating point numbers.

Dart IEEE754 library This library provides decoding and transforming IEEE754 floating point numbers in binary format, double format, or as exponent an

null 0 Dec 24, 2021
A tab bar widget for Flutter ๐Ÿ’™ with point indicator.

flutter_point_tab_bar A tab bar widget with point indicator. Demo Usage TabBar( controller: _tabController, indicator: PointTabIndicator(

Hiแปƒn Lรช 5 Sep 16, 2022
This project is a starting point for a Flutter application.

todo_app A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this

Said Elsoudy 0 Dec 30, 2021
This project is a starting point for a Flutter application

Flutter Firebase Auth Boilerplate Getting Started This project is a starting point for a Flutter application. A few resources to get you started if th

tustoz 2 Apr 25, 2022