
Jsonbox – A HTTP based JSON storage - serious-sam
https://github.com/vasanthv/jsonbox
======
rathel
Whenever you provide something free, "for prototyping" or "for personal
projects", there will always be some moron/asshole who will abuse it by
deploying it in a mobile app or something. It happens from time to time with
OSM map tile servers operated by OpenStreetMap Foundation. And with Overpass
API. This all is for software and data that can be entirely self-hosted,
though servers are obviously not free.

~~~
GuiA
They will abuse it, and then when it doesn’t perform the way they want it to
they will email you demanding support.

------
ammmir
Even though people are questioning the purpose of this project, I think it
could be useful for those who are prototyping things and don't want to tie
themselves down to a specific database like MongoDB... not that there's
anything wrong with Mongo. My favorite feature about Jsonbox is the querying
by fields in the JSON data.

I've been working on a similar project, although not optimized specifically
for JSON, but rather a generic key-value store with a focus on server-side
scripting: [https://kvdb.io](https://kvdb.io)

It seems like a lot of these storage as a service offerings have been popping
up over the past few years because there's something about Mongo/Dynamo/etc.
that could be simplified even further. I don't quite know what it is, but it
feels like developer ergonomics (i.e., API) and ease of deployment (i.e.,
nothing to manage) are the big ones.

~~~
matdehaast
Agree with you 100%. We were working on things where having some basic KV
storage was the easiest. To make life a little easier we put this behind a Map
like interface. We can then plug the persistence layer behind it for various
use cases.

[https://github.com/matdehaast/kv-storage](https://github.com/matdehaast/kv-
storage)

------
isubasinghe
This surely wont last long, the more people that use this, the more likely
that this service gets shutdown due to an increase in cost.

~~~
onion2k
A service like this wouldn't cost _that_ much to run even at a scale that
serves tens of millions of requests a day. It's pretty much ideal for
horizontal scaling. It's certainly in the region where a benevolent Bay Area
dev could afford to run it as a hobby.

------
franky47
Neat ! If you are looking for ways to monetize the idea, take a look at what
dweet [1] did: you pay to get exclusive R/W rights over a "box".

[1] [https://dweet.io/locks](https://dweet.io/locks)

~~~
alexis_fr
Interesting model:

> Dweets are stored for up to 1 month if they are locked. You can query a
> maxiumum 1 day of dweet history per request or as granular as 1 hour. Locks
> cost $1.99/month.

Otherwise:

> dweet.io only holds on to the last 5 dweets over a 24 hour period. If the
> thing hasn't dweeted in the last 24 hours, its history will be removed.

I’m sure AWS has a REST API to store JSON, but the bar to entry is higher.

------
jakemor
Making this free is brilliant.

(1) maybe OP has AWS or GCP credits (very easy to get from these companies’
startup ambassadors)

(2) If there’s ever a greedy actor taking up resources, it seems like they
would be relying on the system to the point where they are willing to pay for
it.

This is exactly the right way to start a business... Do one thing well in a
way that doesn’t scale — this gives you the opportunity to learn from
customers and build better offerings.

Why do you think AWS and GCP give out free credits to begin with?

------
hayksaakian
anyone out there studying programming, this is a great type of project to
challenge yourself to build.

The codebase doesn't need a lot of dependencies and you build up a foundation
you can leverage for multiple projects.

------
barbarbar
Maybe I have not read the doc carefully enough. But what if you PUT/POST to
another existing box_id? Or can other people read from your box if they guess
the box_id?

------
thomasfromcdnjs
For anyone questioning this project, simpy seems to be a pastebin alternative
but for json. Could be useful.

------
harlevr
There is a simple Python wrapper if you want to use it from your python
project [https://pypi.org/project/jsonbox/](https://pypi.org/project/jsonbox/)

------
tanchoux
It works for all Node.js versions ? I don't see the requirements. It seems
great for developpement stuff.

~~~
tyingq
There isn't a client side API. It's an HTTP GET for read, which returns an
application/json response, and a POST of the same to create, other http ops
for delete (DELETE), update (PUT).

I assume you would use https.request() in node or some abstraction that sits
on top of that.

------
nailer
Reminds me of Angular (the online JSON storage service that created, and gave
it's name to, Angular.js)

------
dehrmann
Is the idea to fill the gap between s3 and Mongo (and having to host Mongo)?

------
techie128
I don't get it. You're hosting a service that allows users to store JSON for
free? Why? Have you thought about what happens to your expenses when
potentially hundreds or thousands of people use it?

~~~
ctas
What's supposed to happen to his expenses? You assume that the creator is
running the service on a host with auto-scaling enabled? If it runs on $5 DO
droplet it will simply not be able to handle all requests. Sounds fine to me
for a free service.

------
alexis_fr
Awesome for small projects. I’d use it. But:

\- IANAL but it seems like a GDPR nightmare (and same for porn and legal
nightmare),

\- It would be jnteresting to see whether some people are careless about
privacy and encryption, or use it as a coordination server for viruses or
DDoS. It would also be interesting what genuine usages come up from such APIs.

\- No-one would use it for a too serious project anyway, because they’d be
afraid to lose their data. But if they want, then they can host it themselves.
It would just be interesting to have out-of-the-box authentication and
password management, but if that’s needed, they’ll build it themselves.

~~~
broodbucket
I sure am keen to see some of this JSON porn

~~~
onion2k
Hot AST exports in your area.

------
al_form2000
How is this superior to <any_other_http_based_storage_engine_with_API>?

~~~
onion2k
It isn't.

And that's fine.

People can build and release their projects without necessarily having to
build the best-in-class version of whatever it is. This is a useful, well-
written, open source app that someone has taken to the point where they're
willing to put it out there for the world to use, and that in itself is well
worth discussing and celebrating (as much as a handful of upvotes on HN can be
a celebration of something).

To be honest, even if it was much lower quality code that would _still_ be
really good. HN is all about startups and the release-early-release-often
approach to building. This is exactly the sort of project that deserves to be
on the front page, and exactly what I want to be reading about here.

Congratulations to the author.

~~~
al_form2000
DRY in spades. More peace & power to the author and all that. However, as a
putative user of the project, I'd like to know what would I gain by adopting
it. Last time I looked, that was part of use case discussions. I'd happily
settle for 'No gain, but it's been a great learning experience' \- that's not
as it was presented, though.

~~~
onion2k
DRY means for "Don't Repeat _Yourself_ ". It's fine to repeat other people. In
fact, it's a good thing, because redundant systems are very useful.

------
scoobyyabbadoo
What is the business model here? Is user data monitized for profit?

------
fas_tm
Millennials invented CouchDB :)

