wdb106-flutter icon indicating copy to clipboard operation
wdb106-flutter copied to clipboard

WEB+DB PRESS Vol.106のAndroid・iOSアプリ設計のサンプルをFlutterではどう書くかというサンプル

wdb106_sample

内容概要

  • 以下のパッケージを組み合わせたパターン
  • 自動テストをほぼ網羅
    • 自動スモークテスト(Widgetテスト)も対応
  • JSON APIは http://www.mocky.io で用意
商品リスト カート
商品リスト カート

Provider graph

Generated by https://github.com/rrousselGit/riverpod/tree/master/packages/riverpod_graph

flowchart TB
  subgraph Arrows
    direction LR
    start1[ ] -..->|read| stop1[ ]
    style start1 height:0px;
    style stop1 height:0px;
    start2[ ] --->|listen| stop2[ ]
    style start2 height:0px;
    style stop2 height:0px;
    start3[ ] ===>|watch| stop3[ ]
    style start3 height:0px;
    style stop3 height:0px;
  end

  subgraph Type
    direction TB
    ConsumerWidget((widget));
    Provider[[provider]];
  end
  _ItemListView((_ItemListView));
  itemStocksProvider ==> _ItemListView;
  _CartButton((_CartButton));
  cartProvider ==> _CartButton;
  cartProvider ==> _CartButton;
  ItemTile((ItemTile));
  itemStocksProvider ==> ItemTile;
  itemQuantityProviders ==> ItemTile;
  _AddButton((_AddButton));
  itemQuantityProviders ==> _AddButton;
  cartProvider -.-> _AddButton;
  CartPage((CartPage));
  cartProvider --> CartPage;
  _CartListView((_CartListView));
  cartProvider ==> _CartListView;
  CartHeader((CartHeader));
  cartPriceProvider ==> CartHeader;
  CartTile((CartTile));
  itemStocksProvider ==> CartTile;
  cartProvider ==> CartTile;
  cartProvider -.-> CartTile;
  App((App));
  routerProvider ==> App;
  itemStocksProvider[[itemStocksProvider]];
  httpClientProvider ==> itemStocksProvider;
  httpClientProvider[[httpClientProvider]];
  itemQuantityProviders[[itemQuantityProviders]];
  itemStocksProvider ==> itemQuantityProviders;
  cartProvider ==> itemQuantityProviders;
  cartProvider[[cartProvider]];
  cartPriceProvider[[cartPriceProvider]];
  cartProvider ==> cartPriceProvider;
  itemStocksProvider ==> cartPriceProvider;
  routerProvider[[routerProvider]];