Giter Site home page Giter Site logo

whitebrick logo

whitebrick-client No Code DB

⚠️ This project is no longer maintained


gatsby-theme-whitebrick-client (See whitebrick-cloud for back end)

No Code Database built on Hasura, GraphQL, Gatsby and Serverless
Screenshot Screenshot Screenshot Screenshot
Adding a record Creating a column Creating a DB Managing access

Points of difference:

  1. Gatsby static Jamstack client allows for easy customization with theme shadowing and simple, zero downtime deployment to static web servers.
  2. Hasura is leveraged for battle-tested table tracking, query processing and authentication and RBAC.
  3. The Serverless framework with Apollo GraphQL allows for rapid development of light-weight Lambda support functions.

Roadmap:

  • DDL Table & Column CRUD
  • Live editing with subscription
  • Table-level RBAC
  • Joins
  • Background process queue
  • Background process UI
  • UI styling and themes
  • psql reader/writer access
  • Validations
  • Bucket file download columns
  • Column-level RBAC

Licensing

Whitebrick is licensed under the MIT License however dependency licenses vary.


Overview

system diagram

The Whitebrick No Code DB (Data Repository) comprises a front end Gatsby Jamstack client (whitebrick-client) and back end Serverless application (whitebrick-cloud) that adds multi-tenant DDL and access control functions to a Database via the Hasura GraphQL Server. The Jamstack client uses AG Grid as a spreadsheet-like UI that reads/writes table data directly from/to Hasura over GraphQL. Additional functions including DDL are provided by whitebrick-cloud Serverless functions that are exposed through the Hasura endpoint via schema stitching.


Getting Started

UPDATE June 2022: We were unable to find the community interest or commercial support to continue providing the Whitebrick Cloud back end as a service. You will need to run your own back end and authentication service following the instructions here.

Getting Started with Shadowing

The Whitebrick front end is packaged as a Gatsby Theme that can be installed from npm. Gatsby Themes are customized using a system called Shadowing that allows individual pages, components and assets to be overridden by conforming to a specific directory structure. The advantage of this is that the Whitebrick client Theme can be maintained and updated independently of your customizations.

The easiest way to get started is to use our Gastby Starter that installs our Gatsby Theme and also includes a simple example of overriding the header and branding.

  1. Clone the Whitebrick Starter Repository

    git clone [email protected]:whitebrick/gatsby-starter-whitebrick.git
    
  2. Install Packages

    cd gatsby-starter-whitebrick
    npm install
    
  3. Start Gatsby

    npm run develop
    

    Gatsby will start a hot-reloading development environment accessible by default at http://localhost:8000.

  4. Customize

    Copy or add files to the gatsby-starter-whitebrick/src directory to make changes by overriding the corresponding Whitebrick Theme files.

Client Development

To run the Whitebrick client independently (rather than as a Theme) simple clone the Whitebrick repository, configure the .env and run Gatsby directly.

  1. Clone or Fork the Whitebrick Client Repository

    git clone [email protected]:whitebrick/whitebrick-client.git
    
  2. Install Packages

    cd whitebrick-client
    npm install
    
  3. Configure the Client

    The .env.development is provided with default values - see .env.example for additional options.

  4. Start Gatsby

    npm run develop
    

    Gatsby will start a hot-reloading development environment accessible by default at http://localhost:8000.

Contributing

  • Questions, comments, suggestions and contributions welcome - contact: hello at whitebrick dot com

whitebrick's Projects

fileslide-streamer icon fileslide-streamer

Open Source drop-in service for downloading multiple files as a single zip stream

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.