Skip to content

puntbyte/omni_kv_workspace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OmniKV Logo

OmniKV Workspace

Dart Platform Melos

Welcome to the OmniKV monorepo!

OmniKV is a strongly-typed, storage-agnostic key-value framework for Dart and Flutter. It completely eliminates magic strings, implicit type casting, and runtime parsing errors when dealing with app settings, feature flags, auth tokens, and local caches.

Note: If you are looking for documentation on how to use OmniKV in your app, please see the core package documentation.


📦 Packages

This repository is managed as a workspace using Melos. It contains the pure-Dart core package alongside several officially supported storage adapters.

Package Version Description
omni_kv pub Pure Dart core APIs, typed keys, converters, capabilities, and the MemoryKvAdapter.
omni_kv_shared_preferences pub Flutter adapter backed by shared_preferences.
omni_kv_secure_storage pub Flutter adapter backed by flutter_secure_storage.
omni_kv_hive_ce pub Dart/Flutter adapter backed by hive_ce.

🏗️ Workspace Structure

omni_kv_workspace/
├── pubspec.yaml              # Workspace root configuration
├── melos.yaml                # Melos configuration and scripts
├── analysis_options.yaml     # Shared strict linting rules
│
├── packages/                 # Core framework and adapters
│   ├── omni_kv/
│   ├── omni_kv_hive_ce/
│   ├── omni_kv_secure_storage/
│   └── omni_kv_shared_preferences/
│
└── example/                  # Comprehensive example app
    ├── bin/                  # Pure Dart CLI demos
    └── lib/                  # Flutter visual demo

🚀 Running the Examples

The example directory contains both pure Dart CLI applications and a fully functional Flutter application demonstrating all the adapters.

Run the pure Dart Memory & Hive examples:

cd example
dart run bin/main.memory.dart
dart run bin/main.hive_ce.dart

Run the Flutter example (SharedPreferences & Secure Storage):

cd example
flutter run -t lib/main.dart

🛠️ Contributing & Development

This repository relies on Melos to manage the multi-package setup.

1. Initial Setup

First, activate Melos globally and bootstrap the workspace to link all local dependencies together.

dart pub global activate melos
melos bootstrap

2. Useful Commands

We have configured several Melos scripts to ensure code quality across the entire workspace.

Format all code:

melos run format:apply

Run static analysis (linting):

melos run analyze

Run all tests (Dart & Flutter):

melos run test

(This automatically runs dart test for pure Dart packages and flutter test for Flutter-dependent packages).


📜 License

This workspace is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages