Littlefish Feature Models
Shared domain models package for the littlefish merchant app. This package contains all common data models organized by domain, providing a single source of truth for model definitions across all feature packages.
Purpose
This package centralizes all domain models that are shared across multiple feature packages. Instead of duplicating models in each feature package, all packages reference this shared models package.
Structure
lib/
├── littlefish_feature_models.dart # Main library file
└── models/
├── shared/ # Shared utilities and base models
│ ├── enums.dart
│ ├── country_list.dart
│ ├── country_stub.dart
│ └── ...
├── accounts/ # Linked account models
├── customers/ # Customer models
├── store/ # Business profile models
└── tax/ # Tax models
Note: Product, stock, promotion and checkout-cart models previously lived here. They have been retired in favour of the clean UI models owned by
littlefish_feature_productsandlittlefish_feature_stock. Feature packages consume those models directly — they are no longer re-exported through this package.
Usage
Add this package as a dependency in your feature package's pubspec.yaml:
dependencies:
littlefish_feature_models:
path: ../../models/littlefish_feature_models
Then import the models you need:
import 'package:littlefish_feature_models/littlefish_feature_models.dart';
// Or import specific domains
import 'package:littlefish_feature_models/models/customers/customers.dart';
import 'package:littlefish_feature_models/models/store/store.dart';
Dependencies
littlefish_core: ^4.2.0littlefish_core_utilsjson_annotation: ^4.9.0
Development
To generate JSON serialization code:
dart run build_runner build --delete-conflicting-outputs
Libraries
- littlefish_feature_models
- Shared domain models package for littlefish merchant app.
- models/accounts/linked_accounts
- models/customers/customer
- models/customers/customers
- Customer models exports
- models/shared/country_list
- models/shared/country_stub
- models/shared/data/address
- models/shared/data/contact
- models/shared/data_item
- models/shared/enums
- models/shared/image_representable
- Shared models exports
- models/shared/simple_data_item
- models/store/business_profile
- models/store/business_system_value
- models/store/business_type
- models/store/geo_flutter_fire/geo_flutter_fire_export
- models/store/geo_flutter_fire/src/collection
- models/store/geo_flutter_fire/src/geoflutterfire
- models/store/geo_flutter_fire/src/models/distance_doc_snapshot
- models/store/geo_flutter_fire/src/point
- models/store/geo_flutter_fire/src/util
- models/store/receipt_data
- models/store/store
- Store models exports
- models/store/store_address
- models/tax/sales_tax
- models/tax/tax
- Tax models exports
- models/tax/vat_level
- utils/date_extensions
- utils/enums
- utils/model_utils
- utils/string_extensions