flofriday / dancetime

A website to find dance events in Vienna πŸ’ƒ

Home Page:https://dancetime.flofriday.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dancetime

screenshot

A website to find dance events in Vienna.

Live Website

Features

A couple of my friends and I love to go (ballroom) dancing in Vienna. However, looking up a couple websites every week can be quite tedious. So this tool crawls all of them normalizes them into a uniform format and outputs them as html, csv, json and as iCalendar to embed in your calendar.

At the moment it downloads from:

Build it yourself

You need python3 (only tested with python 3.12) with pip and venv, and node with npm.

npm install
npx tailwindcss -i template.css -o index.css
python3 -m venv venv
source venv/bin/activate
python -m pip install -r requirements.txt
python main.py

Note: While working on the frontend it might be quite handy to add the --watch flag to the tailwind command so that it will automatically rebuild the css.

Usage

usage: DanceTime [-h] [--output OUTPUT]

Aggregate dance envents and compile them into multiple formats.

options:
  -h, --help       show this help message and exit
  --output OUTPUT  folder into which the outputs should be written.

How we deploy

We directly deploy the main branch to dancetime.flofriday.dev with our CI/CD GitHub Action.

On the linux server we have a systemd timer setup that runs the script hourly and the generated files are statically hosted with nginx.

You can see the systemd configuration in dancetime.service and dancetime.timer.

Contributing

Contributions are very welcome. At the moment I only ask you to use ruff to format your code. You are awesome πŸ˜ŠπŸŽ‰

About

A website to find dance events in Vienna πŸ’ƒ

https://dancetime.flofriday.dev

License:MIT License


Languages

Language:Python 81.8%Language:HTML 15.5%Language:CSS 1.8%Language:JavaScript 1.0%