Skip to content

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

License

Notifications You must be signed in to change notification settings

benbalter/github-forms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published