SST Base
SST Base is a base template for all SSTeam Flutter/Dart packages.
It contains a set of common utilities, UI helpers, and best practices to speed up development.
Clone this repository, rename the package, and start your new project instantly.
Features
- Utility classes for common tasks
- UI helpers and custom dialogs
- In-app purchase utilities
- Localization support
Installation
Add this package to your project’s pubspec.yaml
:
dependencies:
sst_base: ^1.0.1+20
Run:
flutter pub get
Utilities Overview
Utility Class | Description |
---|---|
LoggerUtil |
Logger with Firebase Crashlytics integration |
AdUtils |
Google Mobile Ads helper functions |
DateTimeUtils |
Date and time helpers |
FileUtils |
File I/O helpers |
ColorUtils |
Hex and color utilities |
ToastUtils |
Toast notification helper |
StringUtils |
String helpers (capitalization, hashing) |
NumberUtils |
Random number helpers |
AppRestClient |
Configurable Dio HTTP client |
ScrollControllerExt |
Scroll helpers |
AssetsUtils |
Asset path helpers |
Timeout |
Timeout extensions for Futures |
Usage Examples
Logger
import 'package:utility_tools/logger_utils.dart';
void main() {
LoggerUtil.init(enableFirebaseCrashlytics: true);
LoggerUtil.d("Debug log message");
}
Show a Dialog
import 'package:utility_tools/dialog_utils.dart';
import 'package:flutter/material.dart';
showInfoDialog(context, theme: myTheme, message: "Hello World");
Load Ads
import 'package:utility_tools/ad_utils.dart';
final banner = AdUtils.loadAd("YOUR_AD_UNIT_ID");
Color from Hex
import 'package:utility_tools/color_utils.dart';
import 'package:flutter/material.dart';
final color = ColorUtils.fromHex("#FF0000");
Project Structure
- utils/ — Utility classes for various common operations
- dialogs/ — Custom dialog and UI helper methods
- extensions/ — Dart extension methods
- model/ — Base models and themes
- Individual utility files like
logger_utils.dart
,ad_utils.dart
, etc.
License
MIT - Copyright (c) 2025 datnguyen.cr@gmail.com
Libraries
- model/app_theme
- model/model
- model/status
- model/support_language
- sst_base
- storage/pref_storage
- storage/storage
- ui/base/base
- ui/base/base_bloc
- ui/base/base_event
- ui/base/base_screen
- ui/base/base_state
- ui/component/app_bar
- ui/component/app_theme_cubit
- ui/component/bottom_loader
- ui/component/component
- ui/component/custom_check_box
- ui/component/custom_radio
- ui/component/custom_refresh_indicator
- ui/component/image_view
- ui/component/infinite_scroll_widget
- ui/component/line
- ui/component/no_data_widget
- ui/component/pressable_container
- ui/component/pressable_image
- ui/component/scroll_to_hide
- ui/component/search_view
- ui/component/timer_view
- ui/dialog/base_dialog
- ui/dialog/custom_dialog
- ui/dialog/dialog
- ui/dialog/dismissible_dialog
- ui/dialog/info_dialog
- ui/dialog/select_language_dialog
- ui/dialog/unlock_feature_dialog
- util/ad_utils
- util/app_rest_client
- util/assets_utils
- util/base_settings
- util/bloc_utils
- util/color_ext
- util/color_utils
- util/date_time_ext
- util/datetime_utils
- util/file_utils
- util/firebase_utils
- util/in_app_purchase_utils
- util/logger_utils
- util/merged_asset_loader
- util/my_http
- util/number_utils
- util/scroll_controller_ext
- util/string_utils
- util/toast_utils
- util/util