Hello folks,
I'm thrilled to share something really exciting with you all β my very first open-source Node.js package, Json Flex DB! It's a fantastic tool for managing data in Node.js projects, all using JSON.
What's the Deal with Json Flex DB?
Json Flex DB makes handling data a breeze. It's a lightweight and versatile solution for managing JSON-based databases in your Node.js projects. With Json Flex DB, you can effortlessly store, retrieve, update, and delete data, making your life as a developer a whole lot easier.
What's Under the Hood?
Data Management: Easily handle all your data operations β storing, retrieving, updating, and deleting β without breaking a sweat.
Lightweight: Don't worry about your project getting weighed down. Json Flex DB is light as a feather, so it won't slow you down.
Versatile: Whether you're dealing with a simple task or something more complex, Json Flex DB can handle it all. It's versatile enough to tackle a wide range of data management tasks.
User-friendly: Designed with simplicity in mind, Json Flex DB is beginner-friendly. Even if you're new to Node.js, you'll find it easy to use and navigate.
Check out my npm package.
And don't forget to give my GitHub repo a starπ.
What do you think about my first Node.js package? Drop a comment below and let me know!
Top comments (13)
Firstly congratulations on publishing a package! I think it would be worth documenting that this is an in-memory database.
Thinking about the actual database code:
save
method - it's going to kill performance stringifying and writing files all the time, especially in high data processing environments when there are a lot of changes.Math.random()
isn't very random. Personally, I usenanoid
to do this, but even a function based onDate.now()
would be more likely to be unique over any significant number of records.Agree with your points, thanks for sharing.
Congratulations on your first npm package π
Npm packages are a great way to learn how to develop tools.
The concept is also great for a first package, wrapping your head around the basics of how a database works is knowledge that will give you edge over other developers.
A suggestion for improvement: the native json stringify and parse methods are very limited and do not scale. If you will try to parse or stringify a json file that is larger than 500 megabytes in size, it will fail. I suggest finding a scalable solution or implementing your own.
Thank you for your suggestion, Lev. I'll look into it soon.
Hello, my 2 cents would be to move away from CommonJS and re-write it to be ES modules. This is particularly important when working with async/await syntax, as CommonJS only allows this in functions. ES modules allow it everywhere. Every modern package should just move to ESM and never CJS.
Also, since you're entering this area, you might be intersted in this article:
Are You in the NPM Package Business? Some Facts I Learned on the Road
JosΓ© Pablo RamΓrez Vargas γ» Dec 1 '23
Yeah, that sounds like a good plan! I'm all for rewriting it as an ES Module. Thanks for bringing it up. I wasn't even aware of the differences between CJS and ESM before.π
Hi @rizmyabdulla ,
Congratulations for your Achievements, but it would be better if explain what it does and how it does in your post too!
Overall, gg, keep up the good work!
Thanks π« I edited the Post !
π nice work @rizmyabdulla, quick response, really appreciate itA
Congratulations and as a lightweight package it's really great and ppl already mentioned the improvement opportunities but overall it's Good
I have used it for POC and worked awesome.
Thank you for using my packageπ. I'm still working on implementing the awesome improvements that ppl have mentioned.π
Don't forget to star my GitHub repository!π
Some comments may only be visible to logged-in visitors. Sign in to view all comments. Some comments have been hidden by the post's author - find out more