What is dinemic framework?
This is a framework for creating distributed and decentralized applications. Libdinemic delivers three main features
- Access management based on cryptography – instead one central set of privileges and roles in your system, the cryptographic tools are used to determine who could access certain resources. Access management works in Dinemic on level of individual objects for whole application
- Decentralized database – Dinemic framework is created to natively create failure-proof applications. Any split and rejoin of cluster made with dinemic takes minimal impact of how application works. Each application in dinemic cluster has always most recent, cryptographic confirmed set of data.
- ORM – Dinemic provides easy to use ORM for C++, which hides all difficulties related to cryptography and network communications. With Dinemic ORM the only task for developer is to project data model and define how application should behave on changes in this data.
With all above technologies and assumptions, the only what you need to do when creating new decentralized applications is to provide its basic logics. No network configuration, no database synchronization and no authentication is required to be done by developer.
What are requirements?
There are no minimal requirements for this software. Performance of your computer will change ability to process changes in Dinemic database.
Due to dinemic framework is not a database itself, it requires a database backend on each node. In current version it supports MemoryDriver, which keeps whole database in RAM and the RedisDriver, which handles all data in Redis K-V database. When using Redis backend, it is necessary to install such database on local node (or somewhere in network, but then you loose decentralization) and put proper connection string in dinemic configuration file.
How can I use it?
Dinemic framework is free to use. Just download it from our repository for your operating system and install. With package you should get header files and libdinemic itself. To create applications check our documentation. To compile, just add -ldinemic flag for your compiler.
In documentation you should find also examples – the chat application, rekonf and test suite which covers usage of most components of library.
What systems are supported?
At this time we support binary packages for Debian (Jessie, Stretch) and Ubuntu (since 16.04). CentOS and other RPM-based distributions will be supported soon.
Do you have plans to support Mac OS?
Do you have plans to support Windows?
No. But if you want, we can discuss porting it to windows, together.
Where are examples?
Feel free to visit our gitlab repository and get examples
Is Dinemic Open Source software?
Yes. Whole library is published on AGPLv3 and commercial license. The AGPL is free to use without charges, with some restrictions. Commercial license is be available for those, who cannot use AGPL restrictions. For details, please contact us: firstname.lastname@example.org
How often are releases?
At this time there is no schedule for dinemic releases. As new code is ready to build, it could be found in nightly repositories. Once all features for release are ready and stable, the library is published in out stable repository for all most popular distributions.