An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          

# babble

Babble is a document-oriented database tailored for easy local development and production.

![Preview](./media/main.gif 'Preview')

###### 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