This is an evolving documentation of the database prototyping project.

Databases

I tried many, many different databases at the start of this project.

There were a few before BERJ that are not documented yet.

archive-BERJ

BERJ (short for Basic Electron React JSON) was an attempt to adapt Kungo Jong's expense electron tracker, which was an adaptation of the electron json storage. I ran into issues when the dependancies in this project were SO OLD they couldn't handle react-router - which I needed to MAKE SEPERATE PAGES. Deeply irritating. I got medium far in this project, and decided to scrap it and start over with a 'modern' boilerplate. The fact that this four year old project is not "modern" makes me feel three hundred years old.

Database WIP Documentation-img-archive-berj.png

As I work on archive-5, I kept this database open so I can refer back to some of Kungo's logic for storage display. (Even though they must be translated into both Dexie and Typescript.)

archive-5

I started a fresh boilerplate - React Electron Boilerplate - which was simple enough to upgrade everything to the most recent releases without breaking the whole thing. Unfortunately this boilerplate uses Typescript, which I am growing to hate. But from my research the annoying overhead of declaring types OVER AND OVER AGAIN will save me misery later. Part of the point of using React in the first place is to dust off my web development chops and give myself another art tool - might as well go whole hog in. As much as I just want to throw the whole thing in the sea and go back to PHP (or even Unity! Oh, C#, where I am safe and nurtured.)

I discovered another database plug in - Dexie. I misread and thought this was a JSON based database, but it's actually much more complicated that that, unfortunately. But it allows to import and export as JSON, so I can still do what I planned if I NEED the JSON.

07-8-25

Database WIP Documentation-img-archivwe-5-1.png]

it's finally a database! many to-dos to come. But I can read and I can edit.

I am not sure if the next steps should be:

Readme for archive-5 7-5

07-20-25

I've been working on it and it's looking pretty good, but I keep struggling with React. I MIGHT bail and switch to vanilla javascript. Dexie, the database I'm using, works fine in VJS, I wouldn't lose too much work I don't think. Once again, hyperlinking is such a process.

I've been rereading House of Leaves and the Athenian Murders, and I know I want this to be more of a "search and reveal digital footnote project" than a hypertext project, but hypertext would still be nice. Offsite linking is confusing? It's electron, so I just need to beat it to open in browser. But I guess it's "in world" to not link out.

But first I'm going to try a WYSIWYG editor for the descriptions and use dangerouslyShowHTML (sic) so I can use regular HTML and hopefully java/css effects in the descriptions.

Ont game

I wrote a game to make a game - a solo TTRPG to play to try to develop some of the lore in parallel to the database software itself.

While I wanted to write the project directly into the database software, at this point archive 5 was not in a place where I trusted it to not wipe out the content. I intended to build the project in twine, but after single node in I got frustrated. I had been building the dev log website in Obsidian using the Digital Garden plug in . Obsidian and Twine are lingistically similar, but I've been writing a lot in Obsidian, and it has features that I'd have to hack together in Twine - like dataview filters for tagged entries. So I've switched to building it that way. obsidia

Once variables become a problem, I will likely need to port it to twine, unless I can get the core database working well enough to just port it there directly.

Proposed Workflows Ont game to database - I no longer think this is a gread id and I should work directly in archive-5.