timwis / dataface

Build and manage data with a spreadsheet-like interface
https://dataface-demo.herokuapp.com
43 stars 4 forks source link

Rewrite back-end #80

Closed timwis closed 7 years ago

timwis commented 7 years ago

Background

So far we've been using PostgREST as the back end. Out of the box, it gets us reading and writing, along with auth, pagination, etc., and it's fast and deployable. We've had to add stored procedures to the database for additional functionality (like adding columns). That's fine, though I imagine at a certain number of stored procedures, you might as well write your own back-end.

We'd also like to create a database schema for each user to allow multiple users in a dataface instance. PostgREST won't really support this without forking it. We'd have to rely on table name prefixes and GRANTs.

Not to mention the fact that when we do eventually want to add real-time notifications (to be notified when another user modifies the table you're looking at), we'd need to build that separately anyway.

It may just be darn time to write our own back-end.

Functionality

Copied over from #1:

Reading

Writing

(Also real-time notifications if other users do these things)

timwis commented 7 years ago

Okay, I've drafted an api spec using the api blueprint language, which I popped into apiary to generate a documentation page. It uses the same method for row filtering as postgres. Hooray for documentation-driven development...now for the development part.

timwis commented 7 years ago

Closed by #96