nsg_data

Data object model and data exchange with C# server for Flutter applications.

Features

  • Data Object Model: Complete data object model with support for various field types
  • Server Communication: Built-in HTTP client for C# server communication
  • Local Database: Hive-based local database for offline data storage
  • Authentication: Phone-based authentication system with SMS verification
  • Password Validation: Password strength checking and validation
  • Barcode Scanning: Built-in barcode reader functionality
  • Table Management: Advanced table data handling with CRUD operations
  • Reference Fields: Support for typed and untyped reference fields
  • Image Handling: Image upload and management capabilities
  • Localization: Multi-language support with locale management
  • Error Handling: Comprehensive error handling and user feedback

Installation

Add this to your package's pubspec.yaml file:

dependencies:
  nsg_data: ^0.3.0-beta.1

Usage

import 'package:nsg_data/nsg_data.dart';

// Initialize the data provider
final provider = NsgDataProvider();
await provider.initialize();

// Create a data item
final item = NsgDataItem();
item.setValue('name', 'John Doe');
item.setValue('age', 30);

// Save to server
await provider.postItem(item);

Dependencies

This package depends on nsg_controls which should be published first due to circular dependency.

Publishing Instructions

Due to circular dependency with nsg_controls, follow these steps:

  1. First publish nsg_controls package
  2. Update nsg_data to use hosted version of nsg_controls
  3. Publish nsg_data package

Version History

See CHANGELOG.md for detailed version history.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Aleksei Zenkov (zenkov25@gmail.com)

Libraries

authorize/nsg_login_model
authorize/nsg_login_params
authorize/nsg_login_provider
authorize/nsg_login_response
authorize/nsgPhoneLoginPage
authorize/nsgPhoneLoginParams
authorize/nsgPhoneLoginRegistrationPage
authorize/nsgPhoneLoginVerificationPage
controllers/nsg_cancel_token
controllers/nsg_controller_filter
controllers/nsg_controller_regime
controllers/nsg_data_controller_mode
controllers/nsg_data_item_controller
controllers/nsg_default_controller
controllers/nsg_update_key
controllers/nsg_update_key_type
controllers/nsg_user_session_controller
controllers/nsg_user_settings_controller
controllers/nsgBaseController
controllers/nsgBaseControllerData
controllers/nsgDataBinding
controllers/nsgDataController
controllers/nsgDataTableController
controllers/nsgImageController
data_items/nsg_data_image_row_item
dataFields/base_reference_field
dataFields/boolfield
dataFields/dataBinary
dataFields/datafield
dataFields/dataImage
dataFields/dateField
dataFields/doubleField
dataFields/enumReferenceField
dataFields/intfield
dataFields/list_field
dataFields/nsg_data_table
dataFields/reference_list_field
dataFields/referenceField
dataFields/stringField
dataFields/untyped_reference_field
db/nsg_local_db
helpers/double_extension
helpers/nsg_barcode_reader
helpers/nsg_color_is_light
helpers/nsg_data_format
helpers/nsg_data_guid
helpers/nsg_data_options
helpers/nsg_duration_counter
helpers/nsg_period
helpers/nsg_validate_result
metrica/nsg_metrica
models/nsg_exchange_rules
models/nsg_server_params
models/nsg_user_session
models/nsg_user_settings
models/nsgLoginModel
navigator/nsg_get_page
navigator/nsg_middleware
navigator/nsg_navigator
nsg_comparison_operator
nsg_data
nsg_data_client
nsg_data_compare
nsg_data_delete
nsg_data_enum
nsg_data_fieldlist
nsg_data_item
nsg_data_item_state
nsg_data_itemList
nsg_data_paramList
nsg_data_post
nsg_data_provider
nsg_data_request
nsg_data_requestParams
nsg_data_sorting
nsg_data_sync_manager
nsg_request_item_regime
nsg_simple_request
nsgApiException
nsgDataApiError
nsgDataFreeRequest
password/nsg_login_password_strength
password/nsg_login_password_validator
ui/nsg_data_ui
ui/nsg_loading_scroll_controller