DemoFlutter App Architecture Clean Archtitecture Layers Data Domain Presentation Design pattern BLoc (Business Logic Component) Dependency Injection Library Kiwi