Skip to content

Postgraphile Sandbox/Playground #273

Open
@rattrayalex

Description

Feature description

Make a new repo with a Deploy to Heroku button for easily playing around with postgraphile without having to install anything or do toilsome setup.

It should come with postgres, pgadmin and postgraphile installed and running within a docker container, probably with one or more example databases installed.

It should be running with a variety of recommended plugins and settings for development, like --enhance-graphiql and --allow-explain.

By default, it should run the CLI, but it should also have a JS-driven example included with a easy switch to use that, so you can fork, write a custom plugin, and deploy with a click.

(Note that it should not use heroku's built-in postgres because it doesn't allow CREATE ROLE and could get expensive if a malicious actor spotted a free, world-configurable database).

Inspired by this discussion

Motivating example

  1. Have one official playground running that prospective users can play with, to see what postgraphile is like in the wild. (This should probably be completely cleared and rebooted at regular intervals, perhaps with a bit of automation from the heroku api and a stable subdomain).
  2. Allow postgraphile users to quickly spin up their own playgrounds to explore prototyping concepts.
  3. Allow postgraphile users to to demonstrate a minimal repro case for a bug or issue by running DDL, inserting data, and running a gql query.

Breaking changes

None

Supporting development

I intend to build this myself over the next week or two, but who knows life happens sometimes, so I wanted to file as an issue in case I don't get to it and someone else wants to come along and build it.

I [tick all that apply]:

  • am interested in building this feature myself
  • am interested in collaborating on building this feature
  • am willing to help testing this feature before it's released
  • am willing to write a test-driven test suite for this feature (before it exists)
  • am a Graphile sponsor ❤️
  • have an active support or consultancy contract with Graphile

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions