Skip to content
g0vPublic

About

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

Topics

Resources

Stars

18 stars

Watchers

34 watching

Forks

Latest commit

 

History

94 Commits

Folders and files

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

Stars

18 stars

Watchers

34 watching

Forks

Releases

Packages

Used by

Contributors

Languages