I will be building a very simple app . it will have two screen where you can see Flight Listing Screen and navigated and forth between two screen which used Inherited Widget to remove redudant passing of parameters also firestore integration to be back the app with dynamic content.
I do use Bloc pattern through out the app for state management. What is Bloc. BloC (Business Logic Component) is an architecture pattern introduced by Google at their IO conference this year. The idea behind it is to have separated components (BloC components) containing only the business logic that is meant to be easily shared between different Dart apps.
Let me give you a visual experience of the architecture we will be following to structure this app.
Bloc Pattern for Flutter
P.S : Widgets which would be used only inside a particular screen should be placed inside that screen and not inside the common widgets folder.
Reference: https://dribbble.com/shots/5662956-Flight-Tickets-Deal-Tracker-App-Day-340-365-Project365