•
features
◦
도메인 이름
▪
data
•
datasources
◦
api
▪
api_도메인이름_datasource.dart
◦
local
▪
local_도메인이름_datasource.dart
◦
도메인이름_datasource_impl.dart
◦
i_도메인이름_datasource.dart
•
models (모델이 DTO라고 하자)
◦
login_model.dart (req, resp 내부 정의)
•
repositories
◦
i_도메인이름_repository.dart
◦
도메인이름_repository_impl.dart
▪
domain
•
entities ( 각종 순수 엔티티들 )
◦
user_info_entity.dart
◦
store_entity.dart
◦
post_entity.dart
•
usecase
◦
i_도메인이름_usecase.dart
◦
도메인이름_usecase_impl.dart
▪
presentation
•
viewmodels ( 화면에 필요한 모델을 viewmodel로 칭한다 )
◦
login_page(페이지 하나!)
▪
sub_viewmodels
▪
login_viewmodel.dart (화면을 위한 데이터)
▪
login_notifier.dart
▪
login_provider.dart
•
pages
◦
login_page.dart
•
widgets
◦
login_page (해당 페이지에서 만 사용하는 위젯들)
▪
botton.dart
◦
app_bar.dart ( 해당 도메인에서 같이 사용하는 위젯들 )