🧱 supa_architecture

A scalable and opinionated Flutter architecture designed to boost productivity, enforce consistency, and support large-scale modular development.


📦 Installation

Add this to your pubspec.yaml:

dependencies:
  supa_architecture: ^<latest-version>

Then run:

flutter pub get

✅ Compatibility

Feature Support
✅ Flutter SDK 3.10 or higher
✅ Platforms Android, iOS, Web, macOS
✅ Null safety ✔️ Enabled
✅ Modular support ✔️ Built-in

📜 Latest Changelog

v1.7.4 – 2025-03-20

  • ✅ Added support for custom bottom sheet theming
  • 🧩 Refactored localization manager integration
  • 🛠 Fixed null-safe handling in persistent storage
  • 💄 Updated default text styles to match SupaTheme

👉 View full changelog →


📚 Full Documentation

👉 Visit the full documentation site:
🔗 https://open.supa.vn

There you'll find:

  • Setup guide
  • Folder structure and architecture overview
  • CLI tools and code generation
  • Widget library and theming
  • Localization and state management
  • Best practices

💬 Feedback

Feel free to submit issues, suggestions, or improvements.


Made with ❤️ by the Supa team.

Libraries

api_client/api_client
api_client/interceptors/device_info_interceptor
api_client/interceptors/general_error_log_interceptor
api_client/interceptors/refresh_interceptor
api_client/interceptors/timezone_interceptor
blocs/authentication/authentication_bloc
blocs/blocs
blocs/error_handling/error_handling_bloc
blocs/push_notification/push_notification_bloc
blocs/tenant/tenant_bloc
constants/constants
core/app_token
core/device_info
core/device_notification_token
core/persistent_storage/hive_persistent_storage
core/persistent_storage/persistent_storage
core/persistent_storage/web_persistent_storage
core/secure_authentication_info
core/secure_storage/secure_storage
core/tenant_authentication
exceptions/exceptions
extensions/color
extensions/datetime
extensions/dotenv
extensions/extensions
extensions/infinite_scroll_pagination
extensions/list
extensions/money
extensions/number
extensions/string
extensions/supa_route
filters/filters
forms/change_password_form
forms/forgot_password_form
forms/forms
forms/login_form
forms/reset_password_form
json/json
models/admin_type
models/admin_type_filter
models/app_user
models/app_user_filter
models/app_user_info
models/app_user_preferences
models/app_user_sub_system_mapping
models/attachment
models/current_tenant
models/enum_model
models/enum_model_filter
models/file
models/file_filter
models/forgot_password_dto
models/gender
models/gender_filter
models/image
models/image_filter
models/language
models/language_filter
models/models
models/sub_system
models/sub_system_filter
models/tenant
models/tenant_filter
models/tenant_sub_system_mapping
models/timezone
models/timezone_filter
models/user_notification
models/user_notification_filter
providers/dio_image_provider
providers/providers
repositories/base_repository
repositories/portal_authentication_repository
repositories/portal_profile_repository
repositories/portal_tenant_repository
repositories/repositories
repositories/utils_notification_repository
services/entity_detail_navigator
services/file_service
services/notification_handler
services/services
supa_architecture
supa_architecture_method_channel
supa_architecture_platform_interface
supa_architecture_web
utils/password_field_mixin
utils/platform_utils
widgets/atoms/app_image
widgets/atoms/biometric_login_button
widgets/atoms/carbon_button
widgets/atoms/field_label
widgets/atoms/go_back_button
widgets/atoms/icon_placeholder
widgets/atoms/loading_indicator
widgets/atoms/text_status_badge
widgets/molecules/enum_status_badge
widgets/molecules/social_sign_in_button
widgets/organisms/confirmation_dialog
widgets/organisms/empty_component
widgets/organisms/forbidden_component
widgets/organisms/searchable_appbar_title
widgets/organisms/section_title
widgets/pages/page_forbidden
widgets/templates/bottom_sheet_container
widgets/templates/infinite_list_state
widgets/widgets