This project was created to understand Clean Architecture using Bloc pattern for the flutter. For clarity, this app uses a public {JSON} Placeholder
- Keep code clean
- Keep code testable
- Keep separation of concerns(Presentation-Domain-Data)


- Flutter BLOC - Flutter Widgets that make it easy to implement the BLoC (Business Logic Component) design pattern. Built to be used with the bloc state management package.
- Dio - A powerful HTTP networking package, supports Interceptors, Aborting and canceling a request, Custom adapters, Transformers, etc.
- Freezed - Code generator for data classes, unions, and cloning..
- Equatable - A Dart package that helps to implement value based equality without needing to explicitly override == and hashCode.
- GetIt - Simple direct Service Locator that allows to decouple the interface from a concrete implementation and to access the concrete implementation from everywhere in your App
- Flutter Secure Storage - Flutter Secure Storage provides API to store data in secure storage. Keychain is used in iOS, KeyStore based solution is used in Android.
- Shady Boukhary - A Clean Approach to Flutter Development through the Flutter Clean Architecture Package
- DrunknCode - Clean Architecture: Simplified and In-Depth Guide
- Pranav Masekar - Unlocking the Secrets of Clean Architecture: Building Scalable Flutter Apps : Part-2
- Amandeep Singh - A Deep Dive into Clean Architecture and Solid Principles
- Guilherme Silva - Clean Architecture with State Management comparison
- sm_amolded - 클린 아키텍처 리펙토링 (3) - 누가 무슨 모델을 사용할 것인가?