How praveenakki/practice-1 works
Bloc Demo App is a Flutter learning app whose user workflow is to open a feature screen, interact with it, and see BLoC-managed state reflected in the UI. The README documents counter, switch, image-picker, todo, favorites, posts, and login examples, with global providers in app setup and repositories for data access. The graph preserves those feature stages and the documented posts repository/API pattern. Dart implementation files were not sampled, so detailed event handling and repository call wiring cannot be verified; uncertain links are omitted.
Main entry points: app.dart App providers · image_picker_bloc.dart Image picker BLoC · post_bloc.dart Posts BLoC · counter_screen.dart Counter screen
Components 22
App setup
- Entry point
lib/main.dart - App providers
lib/app.dart
Local examples
- Counter screen
lib/view/counter_screen.dart - Counter BLoC
lib/bloc/counter/counter_bloc.dart - Switch screen
lib/view/switch_example_screen.dart - Switch BLoC
lib/bloc/switch_example/switch_bloc.dart - Todo screen
lib/view/todo_screen.dart - Todo BLoC
lib/bloc/todo_list/todo_list_bloc.dart
Integration examples
- Image picker screen
lib/view/image_picker_screen.dart - Image picker BLoC
lib/bloc/image_picker/image_picker_bloc.dart - Favorites screen
lib/view/favoriate_app_screen.dart - Favorites BLoC
lib/bloc/favoriate_app/favoriate_app_bloc.dart - Posts screen
lib/view/post_screen.dart - Posts BLoC
lib/bloc/posts/post_bloc.dart - Login screen
lib/view/login_screens/login_screen.dart - Login BLoC
lib/bloc/login/login_bloc.dart
Data access
- Picker utility
lib/utils/image_picker_utils.dart - Favorites repository
lib/repository/favoriate_repository.dart - Posts repository
lib/repository/post_repository.dart - Login repository
lib/repository/login_repository.dart
Other components
- App user
- Posts API
Connections 32
- Entry point → App providers: starts
- App providers → Counter BLoC: provides
- App providers → Switch BLoC: provides
- App providers → Todo BLoC: provides
- App providers → Image picker BLoC: provides
- App providers → Favorites BLoC: provides
- App providers → Posts BLoC: provides
- App providers → Login BLoC: provides
- App user → Counter screen: interacts
- App user → Switch screen: interacts
- App user → Todo screen: interacts
- App user → Image picker screen: interacts
- App user → Favorites screen: interacts
- App user → Posts screen: interacts
- App user → Login screen: interacts
- Counter screen → Counter BLoC: dispatches events
- Counter BLoC → Counter screen: emits state
- Switch screen → Switch BLoC: dispatches events
- Switch BLoC → Switch screen: emits state
- Todo screen → Todo BLoC: dispatches events
- Todo BLoC → Todo screen: emits state
- Image picker screen → Image picker BLoC: dispatches events
- Image picker BLoC → Image picker screen: emits state
- Image picker BLoC → Picker utility: uses picker
- Favorites screen → Favorites BLoC: dispatches events
- Favorites BLoC → Favorites screen: emits state
- Posts screen → Posts BLoC: dispatches events
- Posts BLoC → Posts screen: emits state
- Posts BLoC → Posts repository: loads posts
- Posts repository → Posts API: requests posts
- Login screen → Login BLoC: dispatches events
- Login BLoC → Login screen: emits state