I’m a long time dev I’ve used databases before as a regular dev. For my new project I’m trying something unique. it could just be a waste of time, but I have time to waste.

As part of my project I’m trying something different and specific for my app… I’m trying to use git (which is already a kind-of database), and I’m adding an addition database abstraction on top of that.

I started off by creating something that could use git as a “general purpose” storage. To explain it simply, it’s using isomorphic git to be able to connect to a git repo from a browser.

https://positive-intentions.github.io/git/demo/gui/git/storage

I then added the “database abstraction”. To explain it simply, I created the functionality to create a db schema than can then map onto files and folders (which are stored in git). That would allow me to interact with the git storage with queries. I wanted to have something like graphql there for queries to make it easier for me in my app.

https://positive-intentions.github.io/db/demo/gui/database/chat-database

This is where I need advice. I have added things like schema and details around how to handle migrations… but I’m not a database developer and I wonder what details I’m overlooking.

There are complex details in there where I can specify in the schema what parts are encrypted. I want the database to be stable and reliable as I further develop on the approach and increase complexity.

This project isn’t documented and far from finished, but I’d like to learn more about “good database development”, but I don’t even know if I’m asking the right question.