Skip to content
/ OneButton Public

OneButton is a one-click solution for ipa to finish all hackathon duties at once.

License

Notifications You must be signed in to change notification settings

g0v/OneButton

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OneButton

OneButton is a one-click solution for ipa to finish all hackathon duties at once. Some features are mentioned in hackpad.

Prerequisite

  • brew install phantomjs
  • npm install -g casperjs
  • npm i
  • create config.js from config_example.js
    • kktix's account, password
    • hackpad's id, secret (each hackpad subdomain has different hackpad id, secret)
    • bit.ly's access token

Your config.js may look like this:

module.exports = {
  KKTIX: {
    login: '',
    password: '',
    organization: '',
    template: ''
  },
  HACKPAD: {
    site: 'g0v.hackpad.tw',
    client_id: '',
    secret: '',
    template: '2ucl5ftrzot'
  },
  GAPI: {
    "secret_path": "./client_secret.json",
    "token_path": "./.gapi-token.json"
  },
  BITLY:{
    "access_token": ""
  },
  TYPEFORM:{
    "api_key": "825108dfb1a50204cef6ffffad8affff",
    "webhook_submit_url": "http://exampel.com/api/typeform"
  }
};

Google OAuth

In order to use google drive api, please follow the guide from Google Drive APIs to turn on google drive api (OAuth 2.0 client ID, application type: other) and generate a client secret. Once a secret is downloaded, you need to update the path of your GAPI secret and where a token is to stored in config.js. After that, you have generate a token using:

$ node js/gapi-gen-token.js

Templates

Hackpad

You can find yours in the config.js by combining the site field and the default field in the HACKPAD section.

Google Spreadsheets

They are hard-coded in /js/spreadsheet.js. Someone should move the file id and the parent id to config.js.

Ethercalc

The Ethercalc template is located in /tmpl/ethercalc.sc. It's in "SocialCalc sheet save" format.

Typeform

The Typeform template is located in /tmpl/typeform.js.

Run

See the GUI in development

Run npm start and visit http://localhost:3000/.

Run whole function

Run node js/input.js to create event in CUI.

Run part of function

You can fork and create event manually now:

  • casperjs --ignore-ssl-errors=yes --ssl-protocol=tlsv1 --slug="EVENT_SLUG" --name="EVENT_NAME" --start_at="2016/06/24 09:00" --end_at="2016/06/24 18:00" --signup_at="06/10" js/kktix.js

To create an event spreadsheet manually:

  • node js/spreadsheet.js EVENT_NUMBER EVENT_NAME

To create an event hackpad manually:

  • node js/hackpad.js EVENT_NUMBER EVENT_NAME EVENT_START_TIME EVENT_END_TIME

To create an event hackfoldr manually:

  • node js/hackfoldr.js EVENT_NUMBER EVENT_NAME EVENT_START_TIME EVENT_SIGNUP_TIME [SPREADSHEET_LINK]

To create an event typeform manually:

  • node js/typeform.js EVENT_NAME

You can customize tmpl/typeform.js to add more professions and achievements.

Contributors

About

OneButton is a one-click solution for ipa to finish all hackathon duties at once.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published