- Supabase (authentication, online database, and storage)
- Hive (local storage and caching)
- BLoC (state management)
- flutter_bloc: ^8.1.5 (state management)
- fpdart: ^1.1.0 (functional programming)
- get_it: ^7.6.7 (dependency injection)
- (local storage)
i. hive: ^4.0.0-dev.2
ii. path_provider: ^2.1.0 - image_picker: ^1.0.7 (image picker)
- internet_connection_checker_plus: 2.2.0 (network and connectivity)
- supabase_flutter: ^2.3.4 (supabase)
- intl: ^0.19.0 (date formatting)
- uuid: ^4.3.3 (unique ids)
└── lib
└── core
└── constants
└── app_secrets.dart
└── resources
└── exceptions.dart
└── failure.dart
└── usecase.dart
└── shared
└── cubits
└── app_user
└── app_user_cubit.dart
└── app_user_state.dart
└── entities
└── profile.dart
└── network
└── network_connectivity.dart
└── widgets
└── gradient_button.dart
└── input_field.dart
└── loader.dart
└── theme
└── app_palette.dart
└── app_theme.dart
└── utils
└── enums.dart
└── helpers.dart
└── features
└── auth
└── data
└── models
└── profile_model.dart
└── repo
└── i_auth_repo.dart
└── sources
└── remote
└── auth_remote_data_source.dart
└── i_supabase_auth_remote_data_source.dart
└── domain
└── repo
└── auth_repo.dart
└── usecases
└── get_current_user.dart
└── sign_in_user.dart
└── sign_up_user.dart
└── presentation
└── bloc
└── auth_bloc.dart
└── auth_event.dart
└── auth_state.dart
└── screens
└── signin_screen.dart
└── signup_screen.dart
└── blog
└── data
└── models
└── blog_model.dart
└── repo
└── i_blog_repo.dart
└── sources
└── local
└── blog_local_data_source.dart
└── i_hive_blog_local_data_source.dart
└── remote
└── blog_remote_data_source.dart
└── i_supabase_blog_remote_data_source.dart
└── domain
└── entities
└── blog.dart
└── repo
└── blog_repo.dart
└── usecases
└── get_all_blogs.dart
└── publish_blog.dart
└── sign_out_user.dart
└── presentation
└── bloc
└── blog_bloc.dart
└── blog_event.dart
└── blog_state.dart
└── screens
└── add_blog_screen.dart
└── blog_screen.dart
└── show_blog.dart
└── widgets
└── blog_tile.dart
└── dependency_injection.dart
└── main.dart