Woocommerce SDK for Flutter. The Complete Woo Commerce SDK for Flutter.

Overview

woocommerce

Woocommerce SDK for Flutter.

Getting Started

Add the package to your pubspec.yaml and import.

import 'package:woocommerce/woocommerce.dart';

Create an instance of WooCommerce for your project.

Example:

WooCommerce woocommerce = WooCommerce(
  baseUrl: yourBaseUrl,
  consumerKey: yourConsumerKey,
  consumerSecret: consumerSecret);

Parameter, [baseUrl] is the base url of your site. For example, http://me.com, https://me.com or http://my.me.com

Parameter [consumerKey] is the consumer key provided by WooCommerce, e.g. ck_12abc34n56j.

Parameter [consumerSecret] is the consumer secret provided by WooCommerce, e.g. cs_1uab8h3s3op.

Optional Parameter [apiPath] is the direct url from your baseUrl to your Woo commerce endpoint. An example : "/wp-json/wc/v3/" This is useful if only you changed your default Wordpress Woocommerce path, otherwise default applies.

Optional Parameter [isDebug], tells the library if it should print to debug logs. /// Useful if you are debuging or in development.

The goal of Woo Commerce SDK is to make building amazing Ecommerce apps with flutter and Woo Commerce as easy as can be, hope it improves your workflow.

Features.

  • User Authentication.
  • Customer Management
  • Cart Management.
  • Order Management.
  • Products management.
  • Categories.
  • Tags.
  • Variations.
  • Ability to filter on methods that returns a list.
  • Supports custom endpoints.
  • Shipping, Shipping methods, Shipping Locations.
  • Payment.
  • Tax, TaxClasses.
  • Etc and more.

Notes.

Install Jwt Token Plugin, to be able to log in,

Examples

Put your credentials into the example app for a quick demo.

.

Auth

//Login - Returns the access token on success.

final token = woocommerce.authenticateViaJWT(username: username, password: password);

// Login - Signs a user in and returns the logged in user's (WooUser object) details.

final customer = woocommerce.loginCustomer(username: username, password: password);

// Check if a user is Logged In.

bool isLoggedIn = await woocommerce.isCustomerLoggedIn();

// Fetch Logged in user Id
int id = await fetchLoggedInUserId();

// Log User Out.
await logUserOut();

// Creates a new Woocommerce customer and returns the WooCustomer object.
WooCustomer user = WooCustomer(username: username, password: password, email: email);
final result = woocommerce.createCustomer();

Products see SDK reference for filter options.

// Get All Products - Returns list of product object, default is 10 per page.

final myProducts = await woocommerce.getProducts();

//Get All Featured Products - Returns a list of featured products, see Api reference for more filter options.

final myFeaturedProducts = await woocommerce.getProducts(featured: true);

// Get All Products marked with category id '22'.

final mySpecificProduct = await getProducts(category: '22');

Cart!

// Add To Cart! - Returns the added cart item object(Accepts quantity, product id, and list of variations(id) of the product to be added)

final myCart = await woocommerce.addToMyCart(quantity: 2, id: 17);

// Create an Order. - Returns the created order object (Accepts an orderPayload object).

OrderPayload orderPayload = OrderPayload(customerId: customerId, setPaid=true);
final order = await woocommerce.CreateOrder(orderPayload);

Custom Requests - Make your custom authenticated requests to the Woocommerce api.

final response = await woocommerce.put(endpoint, data);

final anotherResponse = await woocommerce.get(endpoint);

Updates

  • Add documentation.
  • Add Token Persistence.
  • Add more search filter abilities.
  • Multiple Examples.

WooCommerce SDK Documentation Reference

[WooCommerce SDK Docs] (https://pub.dev/documentation/woocommerce/latest/)

WooCommerce Api Documentation Reference

[WooCommerce Docs] (https://woocommerce.github.io/woocommerce-rest-api-docs/)

Issues and FeedBack

If you find this useful πŸ’™ , feel free to click ⭐ You can create a Github issue anytime. Pull requests on both code and documentation are welcomed as well pls 😍 . You can also send a mail to [email protected].

For help getting started with Flutter, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Comments
  • getProducts return 401

    getProducts return 401

    Hello ! I am trying to use this plugin in my flutter app. But I have an error when I test

    products = await wooCommerce.getProducts (); I have a 401 error: invalid signature

    When I do the test with postman, there is no problem, but in the app, no. the consumerKey and consumerSecret are correct

    opened by OjeanKOG 7
  • Future<List<WooProductCategory>> getProductCategories

    Future> getProductCategories

    Exception has occurred.
    _Exception (Exception: WooCommerce Error!
    code: rest_invalid_param
    
    

    calling woocommerce.getProductCategories(orderby: "") throws the exception above with the message: Orderby isn't a valid parameter.

    opened by CodesbyRobot 4
  • bug: unable to do getproducts

    bug: unable to do getproducts

    while I am trying to fetch products

    E/flutter (15453): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: type 'String' is not a subtype of type 'int'
    E/flutter (15453): #0      new WooProduct.fromJson (package:woocommerce/models/products.dart:172:20)
    E/flutter (15453): #1      WooCommerce.getProducts (package:woocommerce/woocommerce.dart:461:29)
    

    can anyone get me fix

    opened by ajay-prabhakar 4
  • Erro HTTP

    Erro HTTP

    Hello, i just executed "flutter create wooExampleApp" added "woocommerce: ^ 0.9.0" to the premises and "import 'package: woocommerce / woocommerce.dart';" in main.dart when I run "flutter run", I get the error:

    Compiler message:                                                       
    ../../../flutter/.pub-cache/hosted/pub.dartlang.org/http-0.12.1/lib/http.dart:72:77: Error: Expected '}' before this.
              client.post(url, headers: headers, body: body, encoding: encoding);
                                                                                ^
    ../../../flutter/.pub-cache/hosted/pub.dartlang.org/http-0.12.1/lib/http.dart:70:9: Error: A value of type 'Set<Future<Response>>' can't be assigned to a variable of type 'Future<Response>'.
     - 'Set' is from 'dart:core'.
     - 'Future' is from 'dart:async'.                                       
     - 'Response' is from 'package:http/src/response.dart' ('../../../flutter/.pub-cache/hosted/pub.dartlang.org/http-0.12.1/lib/src/response.dart').
            {
            ^
    Target kernel_snapshot failed: Exception: Errors during snapshot creation: null
    build failed.
                                                                            
    FAILURE: Build failed with an exception.
                                                                            
    * Where:
    Script 'C:\Dev\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 882
    
    * What went wrong:
    Execution failed for task ':app:compileFlutterBuildDebug'.
    > Process 'command 'C:\Dev\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 54s
    

    SDK: environment: sdk: ">=2.7.0 <3.0.0"

    any help?

    opened by rovannlinhalis 3
  • authenticateViaJWT get null

    authenticateViaJWT get null

    When trying to authenticate by JWT, the authenticateViaJWT method returns null.

    I made the debug and the authentication is being done and returns the status 200 and all the info, but in the method

    WooJWTResponse authResponse =
    _authToken = authResponse.token;

    is passed null.

    before the response has all the info

    opened by bonzinho 2
  • Error with getProductVariationById

    Error with getProductVariationById

    Hi

    I am working with Product Variations to get a list of all variations of a product and I get an error at WooProductVariation variations = await wooCommerce.getProductVariationById(productId: 31); The reason is, since the variation parameter is not passed, it was converted to null and the query becomes Query : products/31/variations/null

    I managed to pass empty string like below and the query becomes valid Query : products/31/variations/ WooProductVariation variations = await wooCommerce.getProductVariationById(productId: 31, variationId: '');

    I get the following error

    Unhandled Exception: type 'List<dynamic>' is not a subtype of type 'Map<String, dynamic>'
    E/flutter ( 5726): #0      WooCommerce.getProductVariationById (package:woocommerce/woocommerce.dart:537:53)
    E/flutter ( 5726): <asynchronous suspension>
    E/flutter ( 5726): #1      _MyHomePageState.getProducts (package:ecommerce/main.dart:66:56)
    E/flutter ( 5726): <asynchronous suspension>
    E/flutter ( 5726): #2      _MyHomePageState.initState (package:ecommerce/main.dart:76:5)
    E/flutter ( 5726): #3      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4702:58)
    E/flutter ( 5726): #4      ComponentElement.mount (package:flutter/src/widgets/framework.dart:4538:5)
    E/flutter ( 5726): #5      Element.inflateWidget (package:flutter/src/widgets/framework.dart:3508:14)
    E/flutter ( 5726): #6      Element.updateChild (package:flutter/src/widgets/framework.dart:3266:18)
    E/flutter ( 5726): #7      SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5892:14)
    E/flutter ( 5726): #8      Element.inflateWidget (package:flutter/src/widgets/framework.dart:3508:14)
    E/flutter ( 5726): #9      Element.updateChild (package:flutter/src/widgets/framework.dart:3266:18)
    E/flutter ( 5726): #10     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4589:16)
    E/flutter ( 5726): #11     Element.rebuild (package:flutter/src/widgets/framework.dart:4280:5)
    E/flutter ( 5726): #12     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4543:5)
    E/flutter ( 5726): #13     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4538:5)
    E/flutter ( 5726): #14     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3508:14)
    E/flutter ( 5726): #15     Element.updateChild (package:flutter/src/widgets/framework.dart:3266:18)
    E/flutter ( 5726): #16     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5892:14)
    E/flutter ( 5726): #17     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3508:14)
    E/flutter ( 5726): #18     Element.updateChild (package:flutter/src/widgets/framework.dart:3266:18)
    E/flutter ( 5726): #19     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5892:14)
    E/flutter ( 5726): #20     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3508:14)
    E/flutter ( 5726): #21     Element.updateChild (package:flutter/src/widgets/framework.dart:3266:18)
    E/flutter ( 5726): #22     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4589:16)
    E/flutter ( 5726): #23     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4737:11)
    E/flutter ( 5726): #24     Element.rebuild (package:flutter/src/widgets/framework.dart:4280:5)
    E/flutter ( 5726): #25     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4543:5)
    E/flutter ( 5726): #26     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4728:11)
    E/flutter ( 5726): #27     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4538:5)
    E/flutter ( 5726): #28     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3508:14)
    E/flutter ( 5726): #29     Element.updateChild (package:flutter/src/widgets/framework.dart:3266:18)
    E/flutter ( 5726): #30     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5892:14)
    E/flutter ( 5726): #31     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3508:14)
    E/flutter ( 5726): #32     Element.updateChild (package:flutter/src/widgets/framework.dart:3266:18)
    E/flutter ( 5726): #33     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5892:14)
    E/flutter ( 5726): #34     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3508:14)
    E/flutter ( 5726): #35     Element.updateChild (package:flutter/src/widgets/framework.dart:3266:18)
    E/flutter ( 5726): #36     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4589:16)
    E/flutter ( 5726): #37     StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4737:11)
    E/flutter ( 5726): #38     Element.rebuild (package:flutter/src/widgets/framework.dart:4280:5)
    E/flutter ( 5726): #39     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4543:5)
    E/flutter ( 5726): #40     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4728:11)
    E/flutter ( 5726): #41     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4538:5)
    E/flutter ( 5726): #42     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3508:14)
    E/flutter ( 5726): #43     Element.updateChild (package:flutter/src/widgets/framework.dart:3266:18)
    E/flutter ( 5726): #44     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4589:16)
    E/flutter ( 5726): #45     Element.rebuil
    

    Please handle the null exception and the error above.

    Please help.

    opened by akfaisel 2
  • AddtoCart is Not Working..

    AddtoCart is Not Working..

    Its really an awesome plugin but add to cart is not working.. im getting this error :-

    Exception has occurred.
    _Exception (Exception: WooCommerce Error!
    code: woocommerce_rest_missing_nonce
    message: Missing the X-WC-Store-API-Nonce header. This endpoint requires a valid nonce.
    status: 401)
    

    and make your documentation well... its not clear how to use this... Thanks

    opened by rockstarvibu 2
  • Custom Endpoints

    Custom Endpoints

    Is there any documentation on how to create custom endpoints?

    Would you like to be able to log in as an administrator and add products is possible?

    Thanks

    opened by bonzinho 1
  • WooCommerceError message

    WooCommerceError message

    try { result = await woocommerce.createCustomer(sut); Get.back(); } on WooCommerceError catch (e) { Get.back(); mess = e.message; Get.defaultDialog( barrierDismissible: false, title: 'Oops!', textCancel: 'close', onCancel: () {}, middleText: e.message); }

    I have been trying to display the error message whenever a user creates an account but this is not working what am I doing wrong

    opened by ChristianAdrian 1
  • Exception when I get Coupons. type 'String' is not a subtype of type 'DateTime'

    Exception when I get Coupons. type 'String' is not a subtype of type 'DateTime'

    Hi!

    I'm trying to get coupons but it doens't work.

    This is part of my code:

    class _CouponsHomeState extends State<CouponsPage> {
      List<WooCoupon> coupons = [];
    
      WooCommerce wooCommerce = WooCommerce(baseUrl: baseUrl, consumerKey: consumerKey, consumerSecret: consumerSecret, isDebug: true);
      Future GetCoupons() async {
        coupons = await wooCommerce.getCoupons();
        return coupons;
      }
    

    Captura de 2020-10-02 23-01-24

    opened by crashbit666 1
  • authenticateViaJWT returns rest_no_route

    authenticateViaJWT returns rest_no_route

    I have tried to implement the authenticateViaJWT method following the docs but I get some errors.

    This is my code:

    import 'package:flutter/material.dart';
    import 'package:woocommerce/woocommerce.dart';
    
    WooCommerce woocommerce = WooCommerce(
      baseUrl: kWoocommerceBaseUrl,
      consumerKey: kWoocommerceConsumerKey,
      consumerSecret: kWoocommerceConsumerSecret,
    );
    
    class LoginPage extends StatefulWidget {
      static const routeName = '/login';
    
      @override
      _LoginPageState createState() => _LoginPageState();
    }
    
    class _LoginPageState extends State<LoginPage> {
      final _formKey = GlobalKey<FormState>();
      final TextEditingController _emailController = new TextEditingController();
      final TextEditingController _passwordController = new TextEditingController();
    
      String _email;
      String _password;
      bool _isLoading = false;
    
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          body: LoadingOverlay(
            isLoading: _isLoading,
            progressIndicator: isAndroid
                ? CircularProgressIndicator()
                : CupertinoActivityIndicator(),
            child: SafeArea(
              child: Container(
                padding: EdgeInsets.all(16.0),
                child: Column(
                  crossAxisAlignment: CrossAxisAlignment.stretch,
                  children: <Widget>[
                    Expanded(
                      child: Container(
                        child: Center(
                          child: Text(
                            'Login',
                            style: TextStyle(
                              fontSize: 30.0,
                              fontWeight: FontWeight.bold,
                            ),
                          ),
                        ),
                      ),
                    ),
                    Form(
                      key: _formKey,
                      child: _buildTextFields(),
                    ),
                    SizedBox(
                      height: 16.0,
                    ),
                    AmButton(
                      text: 'Login',
                      onPressed: () async {
                        if (_formKey.currentState.validate()) {
                          FocusScope.of(context).unfocus();
    
                          setState(() {
                            // _isLoading = true;
                          });
    
                          print(_email);
                          print(_password);
    
                          //Login - Returns the access token on success.
    
                          final token = await woocommerce.authenticateViaJWT(
                              username: _email, password: _password);
    
                          print(token);
                        }
                      },
                    ),
                    SizedBox(
                      height: 8.0,
                    ),
                    Expanded(
                      child: Container(),
                    ),
                  ],
                ),
              ),
            ),
          ),
        );
      }
    
      Widget _buildTextFields() {
        return Container(
          child: Column(
            children: <Widget>[
              Container(
                child: TextFormField(
                  controller: _emailController,
                  decoration: InputDecoration(labelText: 'Email'),
                  validator: (value) => _checkEmailAddress(value),
                ),
              ),
              Container(
                child: TextFormField(
                  controller: _passwordController,
                  decoration: InputDecoration(labelText: 'Password'),
                  obscureText: true,
                  validator: (value) => _checkPassword(value),
                ),
              )
            ],
          ),
        );
      }
    
      bool _isValidEmailAddress(email) {
        return RegExp(
                r"^[a-zA-Z0-9.a-zA-Z0-9.!#$%&'*+-/=?^_`{|}~]+@[a-zA-Z0-9]+\.[a-zA-Z]+")
            .hasMatch(email);
      }
    
      String _checkEmailAddress(email) {
        if (email.isEmpty) {
          return 'Devi inserire la tua email';
        }
    
        if (!_isValidEmailAddress(email)) {
          return 'Devi inserire un indirizzo email valido';
        }
    
        setState(() {
          _email = email;
        });
    
        return null;
      }
    
      String _checkPassword(value) {
        if (value.isEmpty) {
          return 'Devi inserire la password';
        }
    
        setState(() {
          _password = value;
        });
    
        return null;
      }
    }
    

    the authenticateViaJWT method is used in a onPressed callback, here the code:

    onPressed: () async {
                        if (_formKey.currentState.validate()) {
                          FocusScope.of(context).unfocus();
    
                          setState(() {
                            // _isLoading = true;
                          });
    
                          print(_email);
                          print(_password);
    
                          //Login - Returns the access token on success.
    
                          final token = await woocommerce.authenticateViaJWT(
                              username: _email, password: _password);
    
                          print(token);
                        }
                      },
    

    as you can see nothing complicated.
    The problem is that when I press the button I get:

    [VERBOSE-2:ui_dart_state.cc(157)] Unhandled Exception: WooCommerce Error!
    code: rest_no_route
    message: No Path provides a match between the URL and the request mode
    status: 404
    #0      WooCommerce.authenticateViaJWT (package:woocommerce/woocommerce.dart:196:9)
    <asynchronous suspension>
    #1      _LoginPageState.build.<anonymous closure> (package:testwoocommerce/pages/login.dart:82:55)
    #2      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:779:19)
    #3      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:862:36)
    #4      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
    #5      TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:504:11)
    #6      BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:282:5)
    #7      BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:217:7)
    #8      PrimaryPointerGestureRecognizer.handleEven<…>
    

    any idea?

    opened by ChristianGiupponi 1
  • Issue on getProducts

    Issue on getProducts

    E/flutter (24948): [ERROR:flutter/lib/ui/ui_dart_state.cc(198)] Unhandled Exception: type 'int' is not a subtype of type 'String?' E/flutter (24948): #0 new WooProduct.fromJson (package:monahawk_woocommerce/models/products.dart:168:15) E/flutter (24948): #1 WooCommerce.getProducts (package:monahawk_woocommerce/woocommerce.dart:477:29) E/flutter (24948): E/flutter (24948): #2 Connector._init (package:nuria_app/features/connector/connector.dart:26:19) E/flutter (24948):

    opened by JohnKinyanjui 0
  • getProducts' search parameter unclear

    getProducts' search parameter unclear

    I'm trying to fetch products starting with a given string, but results are all over the place.. Say I pass "coca" as a searchText then all Coca Cola products appear.. but if I just pass "coc" then I would get anything ..

    wooCommerce
            .getProducts(
          perPage: 100,
          search: this.searchText,
          stockStatus: 'instock',
        )
        
    

    I don't see in the docs where do you decide what Product's parameter the search gets performed against and what type of search does get performed.. eg.. starts with.. contains.. Please can you point me to how to specify the parameter I want to perform the search on and how to define the type of search? Many thanks Cheers

    opened by vinnytwice 0
  • fetchLoggedInUserId()

    fetchLoggedInUserId()

    fetchLoggedInUserId() get this error...

    How can I solve it?

    Dart Unhandled Exception: FormatException: Unexpected character (at character 1)
    <!--#set var="code" value="403" -->
    
    opened by federico2390 0
  • header set on jwtauth function

    header set on jwtauth function

    I set the following header on the authentication function because without error it will return an error of JWT header not properly set.

    HttpHeaders.contentTypeHeader: "application/x-www-form-urlencoded",

    opened by AkashMore7427 0
Owner
RAY
Just a Nerd. Been so many things. Believes in the greater good. Fairness Advocate.
RAY
A dart package to interact with the WooCommerce REST API.

WooCommerce SDK for Dart A dart package to interact with the WooCommerce API (now with null-safety). It uses OAuth1.0a behind the scenes to generate t

Samarth Agarwal 87 Dec 28, 2022
A WordPress API client for dart with support for WooCommerce and custom namespaces.

WordPress REST API client for Dart | Flutter Description A WordPress REST API client for dart with support for WooCommerce and custom namespaces/endpo

DHM Group 73 Nov 26, 2022
Let's create a complete Flutter User Profile Page with SharedPreferences to persist the user's information in Flutter.

Flutter Tutorial - User Profile & SharedPreferences Let's create a complete Flutter User Profile Page with SharedPreferences to persist the user's inf

Johannes Milke 21 Dec 3, 2022
A complete remake of JustWatch App using Flutter (previously written in SwiftUI)

JustWatch-Flutter A complete remake of JustWatch App using Flutter (previously written in SwiftUI) Getting Started This project is a starting point fo

null 1 Oct 15, 2021
Flutter Firebase Complete Authentication with getx

flutfire 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

AdnanGriezmann 4 Oct 12, 2022
Learn to Code While Building Apps - The Complete Flutter Development Bootcamp

BMI Calculator ?? Our Goal The objective of this tutorial is to look at how we can customise Flutter Widgets to achieve our own beautiful user interfa

London App Brewery 146 Jan 1, 2023
Starter code for the Dicee project in the Complete Flutter Bootcamp

Dicee ?? Our Goal The objective of this tutorial is to introduce you to the core programming concepts that will form the foundation of most of the app

London App Brewery 190 Dec 31, 2022
Starter code for the Clima Project from the Complete Flutter Development Bootcamp

Clima ☁ Our Goal The objective of this tutorial is to learn about asynchronous programming in Dart. We'll look at how to carry out time consuming task

London App Brewery 141 Dec 10, 2022
Flutter dating app, HCM DevFest 2021 - we gonna kill the festival est time to complete 3 days

lovebird A new Flutter project. Installation the application only run on real device due to GPS functionality. build release on Android/IOS/ Web i

null 4 May 24, 2022
Complete Flutter Application with Riverpod & Freezed + Dio for API REST

Flutter Crypto APP Complete Flutter Application with Riverpod & Freezed + Dio fo

Xtenso 32 Dec 26, 2022
A complete tutorial series on Flutter webview.

Flutter Webview | Tech With Sam Flutter Webview Tutorial - Watch on youtube ✌   App Preview App Screenshot App Screenshot A new Flutter project. Getti

Samuel Adekunle 43 Dec 30, 2022
A complete music player in flutter with cool UI and design.

Flutter Music Player A complete and open source music player designed in flutter. It is first complete music player designed in flutter. This app expl

Aman gautam 423 Dec 30, 2022
Udemy Course "Dart and Flutter: The Complete Developer's Guide" Project. (With Hive DB)

Udemy-Course-Flutter Udemy Course "Dart and Flutter: The Complete Developer's Guide" Project. (With Hive DB) The course: https://www.udemy.com/course/

Muhammad Tayyab 1 Jun 11, 2022
School Project to complete a course,uses a python backend and a flutter frontend

hit_400_app Getting Started This project is a starting point for a Flutter application. #Run flutter packages get #Run the python main.py after instal

null 0 Dec 28, 2021
Learn to Code While Building Apps - The Complete Flutter Development Bootcamp

Quizzler ❓ Our Goal In this tutorial we will be reviewing Stateful and Stateless Widgets as well as learning about the fundamental building blocks of

London App Brewery 169 Dec 31, 2022
Simple and complete Flutter hooks testing utilities that encourage good testing practices.

Flutter Hooks Testing Library Simple and complete Flutter hooks testing utilities that encourage good testing practices. Inspired by react-hooks-testi

Daichi Furiya 24 Dec 2, 2022
Creating complete social media app like instagram, facebook using flutter dart.

instoo The social media application that allows user to check out new feed, like, comment and even check other user’s profile. It has search, follow,

Pratul Pant 9 Dec 1, 2022
Complete Implementation of Google maps in Flutter using Riverpod

Complete Implementation of Google maps in Flutter using Riverpod (Google Maps ft. Auto Suggestions, GPS tracking, Nearby places, polylines, directions, Review, Contact Details & Photos of a place and much more..)

Akash Mishra 10 Dec 31, 2022
Complete example to download reels from instagram link and save to gellery

Flutter-Reels-downloader-for-instagram A Flutter project to download reels from instagram via link. Features: Download instagram reels Play reels Save

Ravindra Vala 22 Dec 30, 2022