No description
- Python 32.2%
- JavaScript 29.8%
- CSS 25.9%
- HTML 10.8%
- Dockerfile 1.3%
| .forgejo/workflows | ||
| .github | ||
| .pre-commit-config.yaml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| fleamarkets.json | ||
| index.html | ||
| pyproject.toml | ||
| README.md | ||
| scrape.py | ||
| script.js | ||
| style.css | ||
| uv.lock | ||
Flohmarkt-Kalender
A flea-market calendar for the Flensburg area, live at flohmarkt.freyd.is.
Architecture
Two independent parts:
- Scraper (
scrape.py) — fetches dates from flohmarkt-in-flensburg.de and marktcom.de and writes them tofleamarkets.json. Run manually or on a schedule. - Frontend (
index.html,style.css,script.js) — vanilla HTML/CSS/JS calendar that readsfleamarkets.jsonat runtime. Served by nginx via Docker. No build step, no framework.
fleamarkets.json is the contract between the two: an array of { "date": "YYYY-MM-DD", "location": string } objects.
Development
Requires Python 3.11+ and uv.
uv sync --group dev # install runtime + dev deps
pre-commit install # set up git hooks
uv run scrape # run the scraper
Deployment
The Docker image (nginx:alpine) is built and pushed in CI, then deployed via Portainer webhook.
docker compose up # run locally