mono0926/wdb106-flutter
WEB+DB PRESS Vol.106의 Android・iOS 앱 설계 예제를 Flutter로 어떻게 작성할까
- Stars
- 332
- Forks
- 30
- 최근 푸시(UTC)
- 2025. 9. 12.
- 프로젝트 상태
- 활성
언어DartC++CMakeSwiftCHTMLKotlinObjective-C
기술 주제
사용 중인 의존성
의존성 목록 21 개
- flutter
{"sdk":"flutter"} - flutter_riverpod
— - freezed_annotation
— - gap
— - go_router
— - http
— - intl
— - meta
— - riverpod_annotation
— - simple_logger
— - build_runner개발 의존성
— - custom_lint개발 의존성
— - flutter_test개발 의존성
{"sdk":"flutter"} - freezed개발 의존성
— - go_router_builder개발 의존성
— - image_test_utils개발 의존성
{"git":{"url":"https://github.com/michaelgobbers/image_test_utils","ref":"6160ecc"}} - json_serializable개발 의존성
— - mocktail개발 의존성
— - pedantic_mono개발 의존성
— - riverpod_generator개발 의존성
— - riverpod_lint개발 의존성
—
순위
원본 README
아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
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]];