Skip to content

πŸ‹πŸΏβ€β™‚οΈ Automatic booking of group classes

Notifications You must be signed in to change notification settings

mathiazom/rezervo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‹πŸΏβ€β™‚οΈ rezervo

rezervo

Automatic booking of group classes

🧩 Chains

βš™οΈ Providers

πŸ§‘β€πŸ’» Development

🐍 Setup Python environment

  1. Ensure Python 3.10+ is installed

  2. Install dependencies using Poetry (install from https://python-poetry.org/docs/#installation)

    poetry install
  3. In the rezervo directory, define .env and config.json based on .env.template and config.template.json. This includes defining Auth0 tenant details, credentials for Slack notifications and app-wide booking preferences.

    πŸ“³ Web Push variables
    Web Push variables

    Web push requires a VAPID key pair. This can be generated with the following command using openssl:

    openssl ecparam -name prime256v1 -genkey -noout -out vapid_keypair.pem

    The private key can then be encoded as base64 and added to the .env file as WEB_PUSH_PRIVATE_KEY:

    openssl ec -in ./vapid_keypair.pem -outform DER|tail -c +8|head -c 32|base64|tr -d '=' |tr '/+' '_-' >> vapid_private.txt

    Similarly, the public key can be encoded as base64 and included in the client application receiving the notifications:

    openssl ec -in ./vapid_keypair.pem -pubout -outform DER|tail -c 65|base64|tr -d '=' |tr '/+' '_-'|tr -d '\n' >> vapid_public.txt

πŸ‹ Run with Docker

  1. Make sure you have defined .env and config.json as described above
  2. With docker and docker compose installed, run
    docker compose -f docker/docker-compose.dev.yml up -d --build
  3. Within the container, explore available cli commands
    rezervo --help

🧹 Format and lint

poe fix

πŸ”Œ Support new chain

Add your own chain by adding it to ACTIVE_CHAINS in rezervo/chains/active.py.

πŸš€ Deployment

A template for a production deployment is given in docker-compose.template.yml, which uses the most recent rezervo Docker image.

About

πŸ‹πŸΏβ€β™‚οΈ Automatic booking of group classes

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Languages