Package Description
$ dotnet add package KeystoreDBKeystoreDB is a lightweight, secure NoSQL persistent database engine implemented in C#. It provides a simple key-value store with encryption support.
The project is organized using Clean Architecture principles:
KeystoreDB.Core: Contains the core business logic and interfacesKeystoreDB: Main project which implements the interfaces defined in the Core projectKeystoreDB.Core.Tests: Contains unit tests for the Core projectKeystoreDB.Tests: Contains unit tests for the Main projectHere's a basic example of how to use KeystoreDB:
var dbPath = "path/to/database";
var password = "your_secure_password";
var encryptionService = new EncryptionService();
var fileService = new FileService();
var logger = new ConsoleLogger(); // Add this line
var databaseService = new DatabaseService(dbPath, password, logger);
databaseService.Load(); // Load the database from the file if it exists, or initialize an empty database if not found
// Set a value
databaseService.Set("myKey", "myValue");
logger.Log("Value set for myKey");
// Get a value
string value = databaseService.Get("myKey");
logger.Log($"Retrieved value for myKey: {value}");
// Delete a value
bool deleted = databaseService.Delete("myKey");
logger.Log($"Deleted myKey: {deleted}");
// Save changes
databaseService.Save();
logger.Log("Database changes saved");
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.