All Projects → alex3165 → gymbox-bot

alex3165 / gymbox-bot

Licence: other
Simplify the booking of a gymbox class.

Programming Languages

javascript
184084 projects - #8 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to gymbox-bot

Crontab
Parse Cron Expressions, Compose Cron Expression Strings and Caluclate Execution Dates.
Stars: ✭ 62 (+195.24%)
Mutual labels:  cron, schedule
Cron
A cron expression parser in Rust
Stars: ✭ 132 (+528.57%)
Mutual labels:  cron, schedule
Wp Missed Schedule
Find only missed schedule posts, every 15 minutes, and republish correctly 10 items each session. The Original plugin (only this) no longer available on WordPress.org for explicit author request! Compatible with WP 2.1+ to 4.9+ and 5.0-beta3 (100.000+ installs 300.000+ downloads 2016-04-13) Please: do not install unauthorized malware cloned forked!
Stars: ✭ 69 (+228.57%)
Mutual labels:  cron, schedule
Gocron
Easy and fluent Go cron scheduling. This is a fork from https://github.com/jasonlvhit/gocron
Stars: ✭ 605 (+2780.95%)
Mutual labels:  cron, schedule
legacy-bottlerockets
Node.js high availability queue and scheduler for background job processing
Stars: ✭ 25 (+19.05%)
Mutual labels:  cron, schedule
Crono
A time-based background job scheduler daemon (just like Cron) for Rails
Stars: ✭ 637 (+2933.33%)
Mutual labels:  cron, schedule
Sleepto
An alternative to traditional task schedulers
Stars: ✭ 98 (+366.67%)
Mutual labels:  cron, schedule
scheduler
Task Scheduler for Laravel applications. UI from scratch
Stars: ✭ 18 (-14.29%)
Mutual labels:  cron, schedule
Forest
分布式任务调度平台,分布式,任务调度,schedule,scheduler
Stars: ✭ 231 (+1000%)
Mutual labels:  cron, schedule
Schedule Bundle
Schedule Cron jobs (commands/callbacks/bash scripts) within your Symfony application.
Stars: ✭ 216 (+928.57%)
Mutual labels:  cron, schedule
watchman
📆 更夫(watchman)是一款可视化的定时任务配置 Web 工具,麻麻不用担心我漏掉任何更新啦!
Stars: ✭ 40 (+90.48%)
Mutual labels:  cron, schedule
croner
Trigger functions and/or evaluate cron expressions in JavaScript. No dependencies. Most features. All environments.
Stars: ✭ 169 (+704.76%)
Mutual labels:  cron, schedule
cron-schedule
A zero-dependency cron parser and scheduler for Node.js, Deno and the browser.
Stars: ✭ 28 (+33.33%)
Mutual labels:  cron, schedule
Mantra
A simple cron-like scheduler for a single command
Stars: ✭ 24 (+14.29%)
Mutual labels:  cron, schedule
linda
Linda is a simple dispatcher library.
Stars: ✭ 12 (-42.86%)
Mutual labels:  cron, schedule
Jobber
An alternative to cron, with sophisticated status-reporting and error-handling
Stars: ✭ 1,217 (+5695.24%)
Mutual labels:  cron, schedule
schedule-rs
An in-process scheduler for periodic jobs. Schedule lets you run Rust functions on a cron-like schedule.
Stars: ✭ 93 (+342.86%)
Mutual labels:  cron, schedule
nodejs-cron-job-must-know
it is an example of running node.js script with every certain period(cron job)
Stars: ✭ 35 (+66.67%)
Mutual labels:  cron, schedule
Schedule
Schedule module for Nest framework (node.js) ⏰
Stars: ✭ 137 (+552.38%)
Mutual labels:  cron, schedule
delay-timer
Time-manager of delayed tasks. Like crontab, but synchronous asynchronous tasks are possible scheduling, and dynamic add/cancel/remove is supported.
Stars: ✭ 257 (+1123.81%)
Mutual labels:  cron, schedule

gif

Gymbox bot

Provide you a complete experience to automate booking of your gymbox classes:

  • API: Add class to book
  • Scheduler: Cron to run on your server to check class to book everydays at 7am
  • Cli: Book a class using command line

How to make a booking

First you need to add your email and password into a ./data/config.json, example:

{
  "email": "YOUR_EMAIL_HERE",
  "password": "YOUR_PASSWORD_HERE"
}

Secondly you need to add the class you want to book to either the ./data/classes.json file, using the date as the key, or for recurring bookings by adding the class you want to book to the ./data/classesByDay.json file. Format for classes.json is:

{
  "2017-06-21": {
    "className": "Gymnastic Conditioning",
    "time": "12:15",
    "location": "Farringdon"
  }
}

Format for classesByDay.json is:

{
  "Monday": {
    "className": "Gymnastic Conditioning",
    "time": "12:15",
    "location": "Farringdon"
  }
}

Using the cli

node cli.js -c run

Using the scheduler

Edit cron expression in scheduler.js then:

node scheduler.js

How to use the API

node api.js

Endpoints:

  • GET: /api/table: return the gymbox time table

    • Query params:
      • email: Gymbox user email
      • password: Gymbox user password
  • GET: /api/add: Add a class to book

    • Query params:
      • email: Gymbox user email
      • password: Gymbox user password
      • className: The name of the class to book
      • time: The time of the class to book, format: HH:mm
      • date: The date of the class to book, format: YYYY-MM-DD
      • location: The gym location of the class to book
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].