pinn3 / gist-db

Treat your gist account like a database
MIT License
29 stars 0 forks source link

Decide on a new API design #4

Open pinn3 opened 4 years ago

pinn3 commented 4 years ago

This project has not aged well these last years. It is currently based on TaffyDB, which doesn't seem to be actively maintained either. I personally feel like it would be quicker to redesign this project, as I'd otherwise have to read up on how TaffyDB works again in order to maintain the current structure.

It is also unclear how much has changed in the Gist API's. Last time I checked, it was possible to store multiple snippets in a single gist, which I considered to take advantage of and use as collections/tables.

This issue will serve as a place to collect and culminate thoughts/ideas. The output of this will be implemented in the overhaul branch. Note that changes of its commit history might be force pushed at any time

pinn3 commented 4 years ago

It is also worth taking into the consideration for which cases this library could be used for/should focus on supporting. An apparent one I can think of is smaller hobby projects, where Gist can serve as a free data store. In particular, I've seen people using Google Sheets to store their data from IOT devices, however it's seems to be a hassle to set up, with creating a Google project + API keys and whatnot.

pinn3 commented 4 years ago

One concern I have is that the current API seem somewhat too low level. In the usage section of the README an example of the refreshing/locking events are clearly shown. Is that something that a user of this library really should care about? Would it be possible to add an abstraction on top of it to make the usage a bit more intuitive? Will the refreshing/locking logic still be relevant after a redesign?

pinn3 commented 4 years ago

It is also worth taking into the consideration for which cases this library could be used for/should focus on supporting. An apparent one I can think of is smaller hobby projects, where Gist can serve as a free data store. In particular, I've seen people using Google Sheets to store their data from IOT devices, however it's seems to be a hassle to set up, with creating a Google project + API keys and whatnot.

Speaking of API keys and authentication, it's pretty unclear what's needed today in order use this library. For starters, a personal access token should be sufficient. This is the same kind of token that hub uses