[Bloc Widgets](Bloc Widgets) are how the actual interactions happen, that is, they are widgets within the Flutter UI that allow for the use of Repositories and Blocs in order to populate the page with data from the backend.
[Bloc Widgets](Bloc Widgets) are how the actual interactions happen, that is, they are widgets within the Flutter UI that allow for the use of Repositories and Blocs in order to populate the page with data from the backend.
# Flow of Interactions
On the Dart page, when the UI requires information from the backend, an **Event** is dispatched to the **Bloc**. The Bloc then creates a **Request** and passes it to a **Repository**. The Repository then communicates with the [Restful Server](Restful Server) which uses [Controllers](Server Components#controllers) to accomplish the task for the request.
On the Dart page, when the UI requires information from the backend, an **Event** is dispatched to the **Bloc**. The Bloc then creates a **Request** and passes it to a **Repository**. The Repository then communicates with the [Restful Server](Restful Server) which uses [Controllers](Server Components#controllers) to accomplish the task for the request.