AleksiVirkkala / KideAppBot

Ticket bot for https://kide.app
https://kideappbot.com
19 stars 1 forks source link
storybook sveltekit ticket-bot turborepo typescript

Kide.app Ticket Bot

Ticket reservation bot for Kide.app

Bot is available here: KideAppBot.com

Runs locally in your browser

app-presentation

Table of contents

Introduction

It has always been hard to get tickets to student parties in Tampere Finland. I built the first version of this bot in Septempber 2020 to test my coding skills by building a PWA application that acts as a bot that reserves maximum amount of tickets for a given event. The app went viral which lead me to make part of its private.

This app works with kide.app and therefore requires your Kide.app bearer token to work. Apart from that, only event url is needed. I'm planning to make this even more straightforward in the future. As it is a Progressive Web Application it means that you can run it on almost any device that has a browser.

Usage

  1. Get your Kide.app bearer token. See instructions
  2. Head to KideAppBot.com
  3. Set your kide.app bearer token in app settings
    • The token will be saved to local storage which means that you won't have to set it again as long as you're using the same device and the token hasn't expired
  4. Copy event url you want tickets to from Kide.app
    • Each event should start with https://kide.app/events/
  5. Press Start button and watch the bot go 💨

Technical details

This is the third major version of the bot. It is a monorepo that uses PNPM workspaces and turborepo to manage the project. The project is made modular using PNPM workspaces which means that different parts of the application are split to their own reusable packages.

Running locally

Note: If you only want to use the bot this section is not necessary!

  1. Clone the repo and install with pnpm install
    • requires PNPM package manager
  2. Run from root directory with pnpm dev
  3. Navigate to http://localhost:8080/ with browser
  4. Follow the instructions in the usage

Deep dive

Here is some information about how the project is structured and how the bot works.

Project dependency structure:

Project dependency graph

Activity diagram:

Bot activity diagram

Contribution

Feel free to contribute! I'm workign on open sourcing as much as possible and making the project in general maintainable and well documented.

The project uses Conventional Commits, see: conventionalcommits.com

Troubleshooting

Finding your bearer token

  1. Navigate to Kide.app, sign in, right click anywhere on the page and select inspect
  2. Select Application tab
  3. Open Local Storage and under it https://kide.app
  4. Copy the Value of Key authorization.token
    • Example value: "WARNING: Copying and giving this value to any person/service severely compromises your account and may lead to you losing it permanently! <TOKEN>"
    • You should be aware of the text above and always be cautious when using your token!
  5. Copy your token from previously copied text
    • The token is the last part of this text indicated by <TOKEN> in above example
    • For you it is a long combination of random letters and numbers. Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

Bearer token steps