Joatin / shelfdb

The GraphQL database!

Home Page:https://shelfdb.netlify.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Shelf

The GraphQL database. Makes storing data easy!

Test Docker Pulls MicroBadger Size

DISCLAIMER: This project is currently in ALPHA

About

Shelf is a database written in rust and that uses GraphQL for it's api and migrations. Graphql makes it easy to describe the data resources you want to fetch. Shelf expands that power to simple let ypu describe your data and then have the persistence automatically generated for you

However what makes this database even more powerful is the ecosystem surrounding GraphQL. You dont need any specific client to access this database. All you have to do is take the GraphQL Schema and use you favourite tool to generate the client for you. You can use JavaScript, TypeScript, Java, C#, Rust, Go and probably most other languages that are out there!

The GraphQL api is compatible with both the Apollo standard and Facebooks Relay specification. Most list resources are paginated using cursor based pagination

Installation

Helm

The easiest way to add Shelfdb to you cluster is by using our helm script. Assuming you have helm installed (How to install), you can run the following command

helm install --repo https://shelfdb.netlify.com shelfdb

Docker Compose

You can also run Shelfdb locally using the docker compose file below. Really nice for some local experimentation

version: '3'
services:
  shelfdb:
    image: "joatin/shelfdb:latest"
    ports:
      - "5600:5600"

Roadmap

  • Disk File Store
  • GraphQL Resource Specifications
  • Working GraphQL API
  • GraphQL Migration Support
  • S3 File Store
  • GraphQL Subscriptions
  • Clustering

Contributing

See our Contribution Guidelines

License

See LICENSE

About

The GraphQL database!

https://shelfdb.netlify.com

License:MIT License


Languages

Language:Rust 83.5%Language:TypeScript 8.2%Language:CSS 3.8%Language:JavaScript 1.8%Language:Dockerfile 1.6%Language:Smarty 1.1%