babble (database)

babble (database)

•  •  17 updates •  22h 41m

Babble is a document-oriented database tailored for easy local development and production. It is implemented in TypeScript and features an engine, server, and CLI.

By Tetie

Timeline

Tetie
Tetie 2h spent working 67d ago

I've made sure babble is ready for production and final shipping. I've also done some bug fixing.

Tetie
Tetie 1h spent working 68d ago

The first release is live! Check it out at https://github.com/TetieWasTaken/babble/releases. I've tried making it an executable, but after hours of trying I've unfortunately deemed it as impossible with nodenext.

Update attachment
Tetie
Tetie 1h spent working 69d ago

I've done some work in the background to prepare babble for a v1 release. Currently building the first executable!

Tetie
Tetie 48m spent working 69d ago

You are now able to destroy existing databases. Sadly forgor to do good commits so it ended up being a single big one...

Update attachment
Tetie
Tetie 1h spent working 71d ago

I've added command line arguments to allow for non-cli usage (server only mode!)

I also fixed a few bugs :p

More argument options will be coming later.

Update attachment
Tetie
Tetie 2h spent working 74d ago

This took a long time, but I finally added authentication! I had to fix a looot of bugs during the process. Anyway, learned a bit about public/private keys, sha256, etc... exciting!

Check out all the commits at https://github.com/TetieWasTaken/babble/commits/main/.

Tetie
Tetie 1h spent working 77d ago

I've added a REPL... and a lot of bugs...

Update attachment
Tetie
Tetie 1h spent working 80d ago

1/4 planned features done!

I added automatic backups that run every 6 hours via a cron job. It also removes old ones. Furthermore, I've fixed another load of bugs that needed fixing :).

Update attachment
Tetie
Tetie 43m spent working 82d ago

Not a huge update (yet). I've fixed some bugs, linted everything, etc..

I've also thought about new features (coming up!):
- Authentication
- Bulk import/export
- Logging enhancements
- (Scheduled) backups

Tetie
Tetie 1h spent working 83d ago

I've added support for multiple databases! You can now select them or create a new one in the start menu. I've also introduced a lot more bugs, but they will be fixed in the next update.

Be sure to check out commits here: https://github.com/TetieWasTaken/babble/commits/main/

Update attachment
Tetie
Tetie 11m spent working 84d ago

This is part two of the update, I wrote out everything I wanted to achieve and set deadlines.

Tetie
Tetie 15m spent working 84d ago

I've had some issues with hackatime and the timer sessions regarding updates. This will be part one. I made a sequence diagram as an overview of the whole system.

Update attachment
Tetie
Tetie 1h spent working 86d ago

I have made the whole process more user friendly, by tweaking some things to only display the relevant information. I also squashed a lot of bugs :))
- feat: fetch modification object as default
- fix: show just result
- style: lint
- chore: remove redundant debug log
- fix: use unknown over any
- feat: error codes

Tetie
Tetie 1h spent working 87d ago

Added a load more features and squashed bugs here and there! This improves the user experience by a lot.
- fix(readme): use bullet points
- feat: exit gracefully on termination
- feat: add caching
- refactor: migrate to @inquirer/prompts
- feat: advanced CLI options

Update attachment
Tetie
Tetie 1h spent working 87d ago

The great refactor! I have fixed a total of 210 linting errors together with a bit of typescript errors here and there. I have also added a few TSDoc comments and have prepared the code for expansion. Lastly, I have made sure to use write-file-atomic to ensure write safety. In the next update, I am looking to add more features.

Check out the commits here: https://github.com/TetieWasTaken/babble/commits/main/

Tetie
Tetie 34m spent working 88d ago

Because of hackatime shenanigans this was supposed to be the first update. In this update, I set up the framework for everything. I set up what I like to call a skeleton structure to get the raw basics in. This meant there was only a simple CLI that could interface with the engine via the server.
Features:
- Server routes
- Linker
- Core engine basics
- CLI basics

Tetie
Tetie 35m spent working 88d ago

I made sure the Github page was up to date, and I added nested paths! You are now able to enter a path delimited by slashes (/) to access nested paths. For example: (fetch) /users/user1/username in order to get their username. Additionally, I squashed a few bugs that were breaking the whole system.