Open azita-abdollahi opened 3 weeks ago
Hi, good job. If you think, I could look at the service code, but I'm not familiar with Scylla.
I don't plan to put it into the moleculerjs org because if this module will be abandoned I should maintain it without experience of Scylla. So please keep the code under your account, publish to NPM, and send the repo link (in a PR) to the moleculer's awesome repo. After it merged, it will appear in the Modules list of website.
Hi @icebob ,
Thank you for your response and guidance! I would be delighted for you to review my code.
I have made my repository public, and you can check it out here. Additionally, the npm package is available here.
I’m eager to contribute to the Moleculer ecosystem and will be submitting a PR to the Moleculer's Awesome repository soon.
Hi,
first of all, good job! I've checked the repo and the code is nice and clean, it follows the same code style and quality as other moleculer-db adapters, great!
But some comments:
npm test
on Node 12 and it crashed because Jest is newer. You don't need to support old Node version, but the package json contains the correct minimal version.bluebird
. We have just done it in other adapters.return await Promise...
, but in this case the await has no effect if you return a Promise, so in this case just use return Promise...
express-cassandra
in adapter, which uses cassandra-driver
. The express-cassandra
gives any advantages for the adapter? Or can you use the cassandra-driver
directly? Because it looks express-cassandra is a heavy package:
I highlighted the cassandra-driver
in the tree, any others is came from express-cassandra
. I think worth to check the possibility :)All in all, it's a good work! 👍
Thank you so much for taking the time to review my code and providing such helpful feedback! I really appreciate your suggestions, and I will implement them in my module.
Regarding the use of express-cassandra
, I choose it for its ease of use and built-in features that simplify working with scyllaDB. While it is a larger package, it provides a more straightforward integration, which I found beneficial for this adapter.
Thanks again for your insights!
Is your feature request related to a problem? Please describe.
I have developed a ScyllaDB adapter for MoleculerJS that allows users to integrate ScyllaDB as a data store in their services. Currently, there is no official adapter for ScyllaDB in the MoleculerJS, which limits options for developers looking to leverage ScyllaDB's high performance and scalability.
Describe the solution you'd like
I would like to propose the addition of my ScyllaDB adapter to the MoleculerJS. This adapter is designed to provide seamless integration with ScyllaDB, enabling developers to utilize its capabilities within their MoleculerJS services. I have followed the standard MoleculerJS contribution guidelines and have written unit tests to ensure the reliability of the adapter.
Describe alternatives you've considered
While there are other databases supported by MoleculerJS, such as MongoDB, there is currently no support for ScyllaDB. Developers looking for a high-performance NoSQL solution may find this adapter beneficial.
Additional context
I am currently using this adapter in my company's production environment, and it has proven to be effective and reliable. My GitHub repository for the ScyllaDB adapter is currently private to protect my code until it is reviewed. However, I am willing to grant access to the maintainers of MoleculerJS for review purposes. Please let me know if you would like me to invite you as collaborators to the repository.
Usage Example
Here’s a simple example of how to use the ScyllaDB adapter in a Moleculer service:
Thank you for considering my contribution to the MoleculerJS ecosystem. I look forward to your feedback!
Best regards,
Azita Abdollahi
https://github.com/azita-abdollahi