{"id":24605851,"url":"https://github.com/flofriday/dancetime","last_synced_at":"2025-05-05T18:28:04.307Z","repository":{"id":65566519,"uuid":"582178169","full_name":"flofriday/dancetime","owner":"flofriday","description":"A website to find dance events in Vienna 💃","archived":false,"fork":false,"pushed_at":"2025-01-23T22:33:42.000Z","size":1582,"stargazers_count":5,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-23T23:23:02.417Z","etag":null,"topics":["dance","python","vienna"],"latest_commit_sha":null,"homepage":"https://dancetime.flofriday.dev","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flofriday.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-26T01:43:11.000Z","updated_at":"2025-01-23T22:33:46.000Z","dependencies_parsed_at":"2023-02-16T02:01:00.084Z","dependency_job_id":"acf66fde-7552-43fa-b295-0df7b72d6405","html_url":"https://github.com/flofriday/dancetime","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flofriday%2Fdancetime","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flofriday%2Fdancetime/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flofriday%2Fdancetime/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flofriday%2Fdancetime/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flofriday","download_url":"https://codeload.github.com/flofriday/dancetime/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235469856,"owners_count":18995393,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dance","python","vienna"],"created_at":"2025-01-24T16:32:02.196Z","updated_at":"2025-05-05T18:28:04.301Z","avatar_url":"https://github.com/flofriday.png","language":"Python","readme":"# dancetime\n\n![screenshot](screenshot.png)\n\nA website to find dance events in Vienna.\n\n[Live Website](https://dancetime.flofriday.dev/)\n\n## Features\n\nA couple of my friends and I love to go (ballroom) dancing in Vienna. However,\nlooking up a couple websites every week can be quite tedious. So this tool\ncrawls all of them normalizes them into a uniform format and outputs them as\nhtml, csv, json and as iCalendar to embed in your calendar.\n\nAt the moment it downloads from:\n- [Ballsaal (Kraml)](https://www.ballsaal.at/termine_tickets/?no_cache=1)\n- [Chris](https://www.tanzschulechris.at/perfektionen/tanzcafe_wien_1)\n- [Dance4Fun](https://danceforfun.at/termine/)\n- [Dorner](https://tanzdorner.at/#perfektion)\n- [Immervoll](https://www.tanzschule-immervoll.at/events/)\n- [Kopetzky](https://kopetzky.at/Perfektion)\n- [Rueff](https://tanzschulerueff.at/)\n- [Schwebach](https://schwebach.at/events/) (only Tanzcafe for now since they updated their website)\n- [Stanek](https://tanzschulestanek.at/)\n- [Strobl](https://www.tanzschule-strobl.at/perfektion.html)\n- [Dimitar Stefanin](https://dimitarstefanin.com/)\n\n## Build it yourself\n\nYou need [uv](https://github.com/astral-sh/uv) (which manages pythons packages\nand even installs python itself if no matching version is found on your system)\nand [node](https://nodejs.org/en/) with [npm](https://www.npmjs.com/package/npm).\n\n```bash\nnpm install\nnpx tailwindcss -i template.css -o index.css\nuv run main.py\n```\n\n**Note:** While working on the frontend it might be quite handy to add the\n`--watch` flag to the tailwind command so that it will automatically rebuild the\ncss.\n\n## Usage\n\n```\nusage: DanceTime [-h] [--output OUTPUT]\n\nAggregate dance envents and compile them into multiple formats.\n\noptions:\n  -h, --help       show this help message and exit\n  --output OUTPUT  folder into which the outputs should be written.\n```\n\n## How we deploy\n\nWe directly deploy the main branch to [dancetime.flofriday.dev](https://dancetime.flofriday.dev)\nwith our CI/CD [GitHub Action](https://docs.github.com/en/actions).\n\nOn the linux server we have a [systemd](https://systemd.io/) timer setup that\nruns the script hourly and the generated files are statically hosted with\n[nginx](https://nginx.org/en/).\n\nYou can see the systemd configuration in `dancetime.service` and\n`dancetime.timer`.\n\n## Contributing\n\nContributions are very welcome. At the moment I only ask you to use [ruff](https://docs.astral.sh/ruff/) to\nformat your code. You are awesome 😊🎉\n\n```bash\nruff format\nruff check --fix\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflofriday%2Fdancetime","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflofriday%2Fdancetime","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflofriday%2Fdancetime/lists"}