idris_db 1.0.3
idris_db: ^1.0.3 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 #
The Fastest NoSQL Database for Flutter #
Built with ❤️ by IDRISIUM Corp | Idris Ghamid (إدريس غامد)
Features • Installation • Quick Start • Roadmap • Documentation
✨ 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) #
We're actively working on exclusive features:
✅ Available Now (v1.0.0)
- Query Performance Analyzer - Smart query analysis with index suggestions
- Enhanced Error Messages - Clear, actionable errors with hints and solutions
- Smart Logging System - Multi-level logging with query/transaction tracking
- Arabic Support - Full bilingual support (English + العربية)
🔨 Coming in v1.1.0 (Next 2 Months)
- Data Validation Framework - Validate data before insert/update
- Backup & Restore - One-line database backup and restore
- Query Caching - Auto-caching for frequently accessed data
- Real-time Stats - Monitor database performance in real-time
- Development Mode - Extra checks and warnings during development
🔮 Planned for v1.2.0+
- Export/Import Tools - Export to JSON/CSV with one line
- Visual Inspector - Debug widget for development
- And 40+ more features! - See our roadmap
🎯 Our 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.0
dev_dependencies:
idris_db_generator: ^1.0.0
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...
And More! #
See our complete roadmap for all 50 planned features!
🎯 Feature Icons #
📊 Performance Benchmarks #
Idris DB (built on Isar) is blazing fast - up to 10x faster than other Flutter databases:
Detailed Benchmarks #
Insert Performance #
[Insert Benchmark]Query Performance #
[Query Benchmark]Update Performance #
[Update Benchmark]Database Size #
[Size Comparison]Benchmarks run on real devices. Your results may vary.
🔍 Database Inspector #
Idris DB comes with a powerful visual inspector for debugging:
To launch the inspector, run your app in debug mode and open the inspector link in the logs.
📚 Documentation #
- Getting Started: Quick Start Guide
- Roadmap: 50 Features Plan
- Current Status: Implementation Audit
- API Reference: Full API Docs
- Migration Guide: From Isar/Hive
🗺️ Roadmap #
We have an ambitious plan to make Idris DB the best database for Flutter developers. Check out our complete roadmap with 50 planned features including:
- 🕰️ Time Travel Debugging
- 🤖 AI-Powered Query Optimization
- 🔮 Predictive Caching
- 👥 Live Collaboration Mode
- 🇪🇬 Full Arabic Support
- And 45+ more innovative features!
Current Progress: 100% of Step 2 Complete! (4 features fully working)
See INTEGRATION_PROGRESS.md for detailed status.
🙏 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 (see NOTICE file).
👤 Author #
Idris Ghamid (إدريس غامد)
- Email: idris.ghamid@gmail.com
- GitHub: @idris-ghamid
- Telegram: @IDRV72
- Website: idrisium.linkpc.net
Social Media #
📄 License #
Licensed under the Apache License, Version 2.0.
See LICENSE file for details.
🌟 Support #
If you find Idris DB useful or want to support its development:
- ⭐ Star this repo on GitHub
- 📢 Share it with other Flutter developers
- 🐛 Report bugs and suggest features in Issues
- 💡 Contribute to the roadmap discussion
- 💖 Sponsor on GitHub Sponsors
Current Status #
Idris DB is in active development. The core database functionality (from Isar) is production-ready, but enhanced features are still being implemented. See our roadmap for details.
Version 1.0.0: Stable core + 1 enhanced feature (Query Analyzer)
Version 1.1.0 (Target: 2 months): + 7 more enhanced features
Version 1.2.0+: Full feature set with 50+ enhancements
Built by IDRIS GHAMID
Making Flutter development faster and easier, one database at a time.