mono0926/wdb106-flutter
WEB+DB PRESS Vol.106のAndroid・iOSアプリ設計のサンプルをFlutterではどう書くかというサンプル
- Stars
- 332
- Forks
- 30
- Last push (UTC)
- Sep 12, 2025
- Project status
- Active
LanguagesDartC++CMakeSwiftCHTMLKotlinObjective-C
Technical topics
Dependencies used
Dependency list 21 items
- flutter
{"sdk":"flutter"} - flutter_riverpod
— - freezed_annotation
— - gap
— - go_router
— - http
— - intl
— - meta
— - riverpod_annotation
— - simple_logger
— - build_runnerDevelopment
— - custom_lintDevelopment
— - flutter_testDevelopment
{"sdk":"flutter"} - freezedDevelopment
— - go_router_builderDevelopment
— - image_test_utilsDevelopment
{"git":{"url":"https://github.com/michaelgobbers/image_test_utils","ref":"6160ecc"}} - json_serializableDevelopment
— - mocktailDevelopment
— - pedantic_monoDevelopment
— - riverpod_generatorDevelopment
— - riverpod_lintDevelopment
—
Rankings
Original README
English project snapshot. Visit GitHub for the latest content.
Expand / collapse project README
wdb106_sample
- WEB+DB PRESS Vol.106 の特集 1 の「実践 Android/iOS アプリ設計」のサンプルを Flutter ではどう書くのかというサンプル
- 元のサンプルは サポートページ:WEB+DB PRESS Vol.106 からダウンロード可能
内容概要
- 以下のパッケージを組み合わせたパターン
- 自動テストをほぼ網羅
- 自動スモークテスト(Widget テスト)も対応
- JSON API は https://dummyjson.com/custom-response で用意
- https://github.com/mono0926/wdb106-flutter/blob/main/response.jsonc
| 商品リスト | カート |
|---|---|
| 商品リスト | カート |
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]];