mono0926/wdb106-flutter
Exemplo de design de aplicativo Android/iOS do WEB+DB PRESS Vol.106 escrito em Flutter
- Stars
- 332
- Forks
- 30
- Último push (UTC)
- 12 de set. de 2025
- Status do projeto
- Ativo
LinguagensDartC++CMakeSwiftCHTMLKotlinObjective-C
Tópicos técnicos
Dependências usadas
Lista de dependências 21 itens
- flutter
{"sdk":"flutter"} - flutter_riverpod
— - freezed_annotation
— - gap
— - go_router
— - http
— - intl
— - meta
— - riverpod_annotation
— - simple_logger
— - build_runnerDesenvolvimento
— - custom_lintDesenvolvimento
— - flutter_testDesenvolvimento
{"sdk":"flutter"} - freezedDesenvolvimento
— - go_router_builderDesenvolvimento
— - image_test_utilsDesenvolvimento
{"git":{"url":"https://github.com/michaelgobbers/image_test_utils","ref":"6160ecc"}} - json_serializableDesenvolvimento
— - mocktailDesenvolvimento
— - pedantic_monoDesenvolvimento
— - riverpod_generatorDesenvolvimento
— - riverpod_lintDesenvolvimento
—
Rankings
README original
Texto original em inglês. Visite o GitHub para a versão atual.
Expandir / recolher 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]];