Our project consists of three main packages, each designed to enhance your database experience:
Package Name | Description | Link |
---|---|---|
wasm | The rust source for DB, contains its core logic, optimisations, algorithms and cryptography functionality. | View on GitHub |
ridb | Main project with RIDB core functionality. | View on GitHub |
ridb-level | An Storage for level-based storage (NODEJS). | View on GitHub |
ridb-react | Use RIDB in react directly with JSX. | View on GitHub |
We take security very seriously and have implemented robust measures to ensure data protection. Below are the specifications for our security features:
Feature | Description |
---|---|
Password Hashing | We use PBKDF2 (Password-Based Key Derivation Function 2) with HMAC-SHA3-256 for password hashing. This method involves multiple iterations to enhance security against brute-force attacks. Learn more about PBKDF2 |
Encryption | Data is encrypted using AES-256-GCM (Advanced Encryption Standard with Galois/Counter Mode), which provides both confidentiality and integrity. Learn more about AES-GCM |
Integrity | We ensure data integrity by hashing data with SHA3-512 and comparing it with the stored hash to detect any tampering. Learn more about SHA-3 |
By default RIDB is bundled with a default InMemory storage with support for write, create, update, fetch one, remove, find and count operations.
Feature | Description |
---|---|
Schemas | Creation of declarative schemas with required fields, default and encrypted fields |
Validation | Implement validation across all the flows extracting properties and required fields when needed |
Primary Key Management | Primary key and index management |
Plugin Engine | Extend the functionality of your Database implementation with wasm or Javascript plugins |
Data Encryption Plugin | Secure data with encryption plugins |
Migration Plugin | Support for data migrations |
Integrity Plugin | Support for data has not been tampered with |
IndexDB Storage | Robust type safe replacement for Dexie |
InMemory Storage | Robust type safe implementation of an inMemory storage |
LevelDB Storage | Robust type safe implementation for LevelDB 'classic-level' |
I'm very welcome to contributions from anyone, feel free to always open an Issue or create a Pull request. I'll try to be as transparent as I can around the things that are needed for the project.
Main priorities:
- Improve documentation
- Adding more examples
- Testing and code coverage