idris_db 1.0.5 copy "idris_db: ^1.0.5" to clipboard
idris_db: ^1.0.5 copied to clipboard

High-performance NoSQL database for Flutter with exclusive developer tools - Enhanced error messages, smart logging, query analyzer, and Arabic support. Built by IDRISIUM Corp.

Idris DB Banner

The Fastest NoSQL Database for Flutter #

pub package License GitHub Stars Pub Points Pub Likes

Built by IDRISIUM Corp | Idris Ghamid (إدريس غامد)

FeaturesInstallationQuick StartRoadmapDocumentation


✨ Why Choose Idris DB? #

Why Choose Idris DB

Idris DB is an enhanced fork of Isar with exclusive features that make it the best choice for Flutter developers.

Core Features (Available Now) #

Built on the solid foundation of Isar:

  • Blazing Fast - 10x faster than Hive
  • Type Safe - Full Dart type safety with code generation
  • Cross Platform - Android, iOS, Web, Desktop
  • Advanced Queries - Indexes, filters, sorting, full-text search
  • Offline First - Works 100% offline
  • Zero Config - No setup required
  • ACID Transactions - Full transaction support
  • Watchers - Real-time data updates

🚧 Enhanced Features (In Development) #

Enhanced Features

We're actively working on exclusive features:

Available Now (v1.0.0)

  1. Query Performance Analyzer - Smart query analysis with index suggestions
  2. Enhanced Error Messages - Clear, actionable errors with hints and solutions
  3. Smart Logging System - Multi-level logging with query/transaction tracking
  4. Arabic Support - Full bilingual support (English + العربية)

🔨 Coming in v1.1.0 (Next 2 Months)

  1. Data Validation Framework - Validate data before insert/update
  2. Backup & Restore - One-line database backup and restore
  3. Query Caching - Auto-caching for frequently accessed data
  4. Real-time Stats - Monitor database performance in real-time
  5. Development Mode - Extra checks and warnings during development

🔮 Planned for v1.2.0+

  1. Export/Import Tools - Export to JSON/CSV with one line
  2. Visual Inspector - Debug widget for development
  3. And 40+ more features! - See our complete roadmap

🎯 Our Vision #

Idris DB Vision

Idris DB aims to be "The Developer-First Database" - not just fast, but with tools that make you a better, more productive developer.


📦 Installation #

Add to your pubspec.yaml:

dependencies:
  idris_db: ^1.0.5

dev_dependencies:
  idris_db_generator: ^1.0.5
  build_runner: ^2.4.0

Then run:

flutter pub get

🚀 Quick Start #

1. Define Your Model #

import 'package:idris_db/idris_db.dart';

part 'user.g.dart';

@collection
class User {
  Id? id;

  @Index()
  late String name;

  late int age;

  @Index()
  late String email;
}

2. Generate Code #

flutter pub run build_runner build

3. Open Database #

final idrisDb = await IdrisDb.open([UserSchema]);

4. CRUD Operations #

// Create
final user = User()
  ..name = 'Idris Ghamid'
  ..age = 25
  ..email = 'idris.ghamid@gmail.com';

await idrisDb.writeTxn(() async {
  await idrisDb.users.put(user);
});

// Read
final users = await idrisDb.users.where().findAll();

// Update
await idrisDb.writeTxn(() async {
  user.age = 26;
  await idrisDb.users.put(user);
});

// Delete
await idrisDb.writeTxn(() async {
  await idrisDb.users.delete(user.id!);
});

🎯 Available Features #

Query Performance Analyzer (Available Now!) #

Analyze your queries and get optimization suggestions:

final analyzer = QueryAnalyzer(idrisDb);

final analysis = await analyzer.analyze(() {
  return idrisDb.users
      .filter()
      .ageGreaterThan(18)
      .findAll();
});

print(analysis);
// Output:
// 📊 Query Analysis:
//    ⏱️  Duration: 234ms
//    📈 Results: 5000
//
// ⚠️  Warnings:
//    - Query took 234ms (slow)
//    - Large result set: 5000 documents
//
// 💡 Suggestions:
//    - Consider adding an index on the 'age' field
//    - Consider using pagination with .limit() and .offset()

🚧 Coming Soon #

The following features are under active development and will be available in v1.1.0:

Better Error Messages #

Clear, actionable errors with hints and solutions in both English and Arabic.

Smart Logging System #

Comprehensive logging with multiple levels, history, and performance tracking.

Data Validation Framework #

Built-in validators for common patterns (email, phone, URL, etc.) with custom validation support.

Backup & Restore #

One-line database backup with compression and encryption support.

Arabic Support (Available Now!) #

Full bilingual support for error messages in English and Arabic:

// Set language to Arabic
IdrisDbEnhancedError.language = 'ar';

// Or detect from device locale
final locale = Platform.localeName;
IdrisDbEnhancedError.language = locale.startsWith('ar') ? 'ar' : 'en';

// All error messages will now use Arabic
// ❌ خطأ Idris DB [COLLECTION_NOT_FOUND]
//    المجموعة "User" غير موجودة في قاعدة البيانات
// 
// 💡 تلميح: قد يكون schema المجموعة غير مسجل...
// ✅ الحل: أضف UserSchema إلى قائمة schemas...

🎯 Feature Icons #

Feature Icons

📊 Performance Benchmarks #

Idris DB (built on Isar) is blazing fast - up to 10x faster than other Flutter databases:

Flutter Database Library Comparison

Detailed Benchmarks #

Insert Performance #

Insert Benchmark

Query Performance #

Query Benchmark

Update Performance #

Update Benchmark

Database Size #

Size Comparison

🔍 Database Inspector #

Idris DB comes with a powerful visual inspector for debugging:

Idris DB Inspector

To launch the inspector, run your app in debug mode and open the inspector link in the logs.


📚 Documentation #

📚 Comprehensive documentation is available at idris-db-docs.vercel.app


🙏 Attribution #

Idris DB is built on top of excellent open-source projects:

  • Isar Plus by Ahmet Aydın - Enhanced fork of Isar
  • Isar by Simon Choi - Original high-performance database
  • MDBX by Leonid Yuriev - Embedded database engine
  • SQLite - Web platform support

All licensed under Apache License 2.0.


👤 Author #

Idris Ghamid (إدريس غامد)


📄 License #

Licensed under the Apache License, Version 2.0.
See LICENSE file for details.


Built by IDRIS GHAMID

Making Flutter development faster and easier, one database at a time.

1
likes
115
points
173
downloads

Documentation

Documentation
API reference

Publisher

unverified uploader

Weekly Downloads

High-performance NoSQL database for Flutter with exclusive developer tools - Enhanced error messages, smart logging, query analyzer, and Arabic support. Built by IDRISIUM Corp.

Repository (GitHub)
View/report issues

Topics

#database #nosql #flutter #performance #offline-first

Funding

Consider supporting this project:

github.com

License

Apache-2.0 (license)

Dependencies

analyzer, build, ffi, json_annotation, logger, meta, source_gen, web

More

Packages that depend on idris_db