A website to find dance events in Vienna.
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:
- Ballsaal (Kraml)
- Chris
- Dance4Fun
- Dorner
- Immervoll
- Kopetzky
- Rueff
- Schwebach (only Tanzcafe for now since they updated their website)
- Stanek
- Strobl
- Dimitar Stefanin
You need uv (which manages pythons packages and even installs python itself if no matching version is found on your system) and node with npm.
npm install
npx tailwindcss -i template.css -o index.css
uv run main.pyNote: 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: 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.
We directly deploy the main branch to dancetime.flofriday.dev with our CI/CD GitHub Action.
We deploy with docker:
docker build -t dancetime .
docker run -p 5000:5000 dancetime
The service should now be available at http://localhost:5000
Note that the container needs some time to build the page, but you can cache the output
between runs by mounting a volume on /app/dist.
Contributions are very welcome. At the moment I only ask you to use ruff to format your code. You are awesome ๐๐
ruff format
ruff check --fix