Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

프로젝트 구조 개선 #163

Open
iimpala opened this issue Aug 25, 2024 · 1 comment
Open

프로젝트 구조 개선 #163

iimpala opened this issue Aug 25, 2024 · 1 comment

Comments

@iimpala
Copy link
Contributor

iimpala commented Aug 25, 2024

Goal

  • 프로젝트의 전반적인 부분에서 구조개선을 진행한다
  • 상태관리 도구로 GetX를 채택하고 적극적으로 활용한다 -> 논의 필요
  • MVVM 패턴을 통해 관심사를 분리한다
  • 주요 타입들을 enum 클래스로 관리한다
  • 디자인 공통화를 위해 공통 위젯을 만들어 사용한다
@iimpala
Copy link
Contributor Author

iimpala commented Aug 27, 2024

프로젝트 예상 구조

lib/
├ config/
│   ├ bindings/
│   │   ├ initial_binding.dart
│   │   ├ post_binding.dart
│   │   ├ reservation_binding.dart
│   │   └ ...
│   ├ routes/
│   │   ├ app_pages.dart
│   │   └ app_routes.dart
│   ├ theme/
│   │   ├ app_theme.dart
│   │   ├ text_styles.dart
│   │   ├ colors.dart
│   │   └ spacing.dart
│   ├ const/
│   │   ├ app_constants.dart
│   │   ├ assets.dart
│   │   └ env.dart
│   ├ languages/
│   │   ├ en_us.dart
│   │   ├ ko_kr.dart
│   │   └ ...
│   └ dependencies/
│   │   ├ network_dependency.dart
│   │   ├ storage_dependency.dart
│   │   └ ...
│   └ ...
├ app/
│   ├ data/
│   │   ├ provider/
│   │   │   ├ api/
│   │   │   │   ├ interceptors/
│   │   │   │   │   └ auth_interceptor.dart
│   │   │   │   ├ base_api_provider.dart
│   │   │   │   ├ post_api_provider.dart
│   │   │   │   ├ comment_api_provider.dart
│   │   │   │   └ ...
│   │   │   ├ storage/
│   │   │   │   ├ user_info_storage_provider.dart
│   │   │   │   └ ...
│   │   │   └ ...
│   │   ├ repository/
│   │   │   ├ post_repository.dart
│   │   │   ├ user_repository.dart
│   │   │   ├ comment_repository.dart
│   │   │   └ ...
│   │   ├ model/
│   │   │   ├ post/
│   │   │   │   ├ post_model.dart
│   │   │   │   └ ...
│   │   │   ├ clubmember/
│   │   │   │   ├ club_member_model.dart
│   │   │   │   ├ club_role.dart
│   │   │   │   ├ club_authority.dart
│   │   │   │   └ ...
│   │   │   └ ...
│   ├ ui/
│   │   ├ base/
│   │   │   ├ base_page.dart
│   │   │   ├ base_snackbar.dart
│   │   │   ├ base_bottom_sheet.dart
│   │   │   ├ base_alert_dialog.dart
│   │   │   ├ base_checkbox.dart
│   │   │   ├ base_textfield.dart
│   │   │   ├ base_button.dart
│   │   │   └ ...
│   │   ├ post/
│   │   │   ├ detail/
│   │   │   │   ├ post_detail_view.dart
│   │   │   │   ├ post_detail_view_model.dart
│   │   │   │   ├ widgets/
│   │   │   │   │   ├ post_content.dart
│   │   │   │   │   ├ comment_block.dart
│   │   │   │   │   └ ...
│   │   │   ├ list/
│   │   │   ├ add/
│   │   │   ├ modify/
│   │   │   ├ common/
│   │   │   │   ├ post_ member_profile.dart
│   │   │   │   ├ post_more_bottom_sheet.dart
│   │   │   │   └ ...
│   │   │   └ ...
│   │   ├ reservation/
│   │   └ ...
│   ├ utils/
│   │   ├ date_format_utils.dart
│   │   └...
│   └...
└...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

1 participant