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

王向榮王向榮
王向榮
and
王向榮
Mar 1, 2022
cafa07a · Mar 1, 2022

History

94 Commits
Apr 20, 2017
Mar 3, 2017
Mar 1, 2022
Mar 3, 2017
Jul 2, 2020
Sep 26, 2016
Jun 12, 2016
Apr 14, 2018
Aug 11, 2017
Mar 3, 2017
Mar 1, 2022
Mar 3, 2017

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