Code Monkey home page Code Monkey logo

github-forms's Introduction

GitHub Forms

A RESTful API for submitting standard HTML form data to a GitHub-hosted CSV.

Vision

GitHub supports CSVs. That's awesome. But what if you want to store user input, such as RSVPs or other form submissions? Well, now you can. Just replace github.com in the URL with the URL to your GitHub Forms server, and your standard HTML Form can now commit to GitHub.

Upon submission, the user is asked to Oauth, if they've not already, their identity is verified and the information is appended to the CSV.

Demo

Roadmap / Wish list

  • HTML form builder
  • Git storage of form definitions
  • Pull requests (sans conflicts)
  • Gemification

Installation

script/bootstrap

Setup

  1. Create an oauth application
  2. export GITHUB_CLIENT_ID=[GitHub Client ID]
  3. export GITHUB_CLIENT_SECRET=[GitHub Client Secret]
  4. Create an oauth token for yourself or a user with write access to the file(s)
  5. export GITHUB_TOKEN=[GiHub Token]

Seting up on Heroku

Same as above, just use heroku config:set instead of export.

You'll also want to run heroku addons:add redistogo:nano to set up a free redis instance.

Running

  1. script/server
  2. Open localhost:9292 in your browser

Usage

  1. Create a CSV file on GitHub
  2. Create a standard HTML form with fields matching each column
  3. Replace github.com in the URL with your GitHub form server

github-forms's People

Contributors

benbalter avatar parkr avatar

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.