Skip to content

Latest commit

 

History

History
98 lines (87 loc) · 4.22 KB

README.md

File metadata and controls

98 lines (87 loc) · 4.22 KB

Flutter Clean Architecture with TDD

Based on Reso Coder YouTube course.

Screenshots

screenshot-01 screenshot-02

Clean Architecture proposal by Reso

architecture-proposal

lib structure

├── lib
│   ├── core
│   │   ├── errors
│   │   │   ├── exceptions.dart
│   │   │   └── failures.dart
│   │   ├── network
│   │   │   └── network_info.dart
│   │   ├── use_cases
│   │   │   └── use_case.dart
│   │   └── utils
│   │       └── input_converter.dart
│   ├── features
│   │   └── number_trivia
│   │       ├── data
│   │       │   ├── data_sources
│   │       │   │   ├── number_trivia_local_data_source.dart
│   │       │   │   └── number_trivia_remote_data_source.dart
│   │       │   ├── models
│   │       │   │   └── number_trivia_model.dart
│   │       │   └── repositories
│   │       │       └── number_trivia_repository_impl.dart
│   │       ├── domain
│   │       │   ├── entities
│   │       │   │   └── number_trivia.dart
│   │       │   ├── repositories
│   │       │   │   └── number_trivia_repository.dart
│   │       │   └── use_cases
│   │       │       ├── get_concrete_number_trivia.dart
│   │       │       └── get_random_number_trivia.dart
│   │       └── presentation
│   │           ├── bloc
│   │           │   ├── bloc.dart
│   │           │   ├── number_trivia_bloc.dart
│   │           │   ├── number_trivia_event.dart
│   │           │   └── number_trivia_state.dart
│   │           ├── pages
│   │           │   └── number_trivia_page.dart
│   │           └── widgets
│   │               ├── loading_widget.dart
│   │               ├── message_display.dart
│   │               ├── trivia_controls.dart
│   │               ├── trivia_display.dart
│   │               └── widgets.dart
│   ├── injection_container.dart
│   └── main.dart

test structure

├── test
│   ├── core
│   │   ├── network
│   │   │   └── network_info_test.dart
│   │   └── utils
│   │       └── input_converter_test.dart
│   ├── features
│   │   └── number_trivia
│   │       ├── data
│   │       │   ├── data_sources
│   │       │   │   ├── number_trivia_local_data_source_test.dart
│   │       │   │   └── number_trivia_remote_data_source_test.dart
│   │       │   ├── models
│   │       │   │   └── number_trivia_model_test.dart
│   │       │   └── repositories
│   │       │       └── number_trivia_repository_impl_test.dart
│   │       ├── domain
│   │       │   └── use_cases
│   │       │       ├── get_concrete_number_trivia_test.dart
│   │       │       └── get_random_number_trivia_test.dart
│   │       └── presentation
│   │           └── bloc
│   │               └── number_trivia_bloc_test.dart
│   └── fixtures
│       ├── fixture_reader.dart
│       ├── trivia_cached.json
│       ├── trivia_double.json
│       └── trivia.json

Used gitmoji for commit messages.