Skip to content

An opensource db backed by Github. Store and manage data with `json` format in repo with dedicate branch. It's quite convinent for CI/CD that you can just record and manage your data in github repo with github actions.

License

xrdavies/github-keyvalue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Github-Keyvalue

An opensource db backed by Github / Octkit. Store and manage data with json format in repo with dedicate branch.

It's quite convinent for CI/CD that you can just record and manage your data in github repo with github actions.

Usage

Install

Run npm i github-keyvalue or yarn add github-keyvalue to install this package.

new GithubKV(options)

new GithubKV({
    token, // The personal access token of your account (required)
    owner, // The owner of this repo (required)
    repo, // The name of repo (required)
    branch, // The branch stores the data (requied)
    path, // The path store the data (optional)
})

token can be created in settings
owner is name of the owner of your database repo. For example, if I want to have a db, it should be owner: 'xrdavies'.
repo is the name of your database repo. You can name it as you want.
branch is the branch where you put your data in your repo.
path is the path store data, it's optional. The default is the root folder of repo

list() : Promise<T | undefined>

List all the available records in db.

add(data) : Promise<T | undefined>

Add a record to db.

get(id) : Promise<T | undefined>

Get a record according to id.

update(id, data) : Promise<T | undefined>

Update record according to id.

remove(id) : Promise<T | undefined>

Remove record according to id.

Use cases

DAOPark DB

Thanks to

HubDB is a github-powered database created by Mapbox.
githubDB is a Lightweight Cloud based JSON Database with a MongoDB like API for Node.
Simple Github DB is a simpe key value store using Github.
Issue DB uses GitHub Issues as a JSON datastore.
ghkv is a key-value store for your CI/CD workflows, backed by GitHub API.

About

An opensource db backed by Github. Store and manage data with `json` format in repo with dedicate branch. It's quite convinent for CI/CD that you can just record and manage your data in github repo with github actions.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published