https://github.com/tetiewastaken/babble
Babble is a document-oriented database tailored for easy local development and production.
https://github.com/tetiewastaken/babble
database development document-based
Last synced: about 1 month ago
JSON representation
Babble is a document-oriented database tailored for easy local development and production.
- Host: GitHub
- URL: https://github.com/tetiewastaken/babble
- Owner: TetieWasTaken
- License: unlicense
- Created: 2025-05-12T18:36:34.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-06T07:59:49.000Z (about 1 year ago)
- Last Synced: 2025-06-16T09:49:32.633Z (12 months ago)
- Topics: database, development, document-based
- Language: TypeScript
- Homepage:
- Size: 639 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# babble
Babble is a document-oriented database tailored for easy local development and production.

###### Babble preview
# Features:
- Password authentication\*
- REPL and interactive CLI for ease of use
- Server-only mode (for interacting with the _core_ directly)
###### \*Data is **NOT** encrypted locally. Authentication only protects http server.
# How to run
Clone the repo or download the source code from [the releases](https://github.com/TetieWasTaken/babble/releases):
`https://github.com/TetieWasTaken/babble.git`
Run the database:
`yarn run dev`
or `yarn run dev -s` for server-only mode
Select `new` to create a new database, then select the REPL CLI (advanced) or the interactive CLI (simple)
# Project structure
- `linker` - Combines each module together
- `core` - Primary engine
- `server` - Web server for the engine
- `cli` - CLI interface for users
# Server
## Endpoints
##### Data management
- `POST /server/:uid/add/*` - Adds an item
- `GET /server/:uid/fetch/*` - Fetches an item
- `PATCH /server/:uid/modify/*` - Modifies an item
- `DELETE /server/:uid/remove/*` - Removes an item
- `GET /server/:uid/export` - Exports a database
- `POST /server/:uid/import` - Imports a database
##### Database management
- `GET /server/uid` - Get every avalailable UID
- `POST /server/new/:uid` - Creates a new database
- `DELETE /server/delete/:uid` - Deletes a database
##### Authentication
- `GET /server/pubkey` - Retrieves the public key
###### \* wildcard is a slash-delimited key path