Upcoming Acts at Venues
  • Go 79.8%
  • HTML 10.3%
  • CSS 9.9%
Find a file
2026-08-02 20:58:04 +00:00
db add authentication for the scrape and add venue features 2026-08-02 20:58:04 +00:00
deezer - Add retrieving top 3 songs from Deezer for each act, 2026-08-02 20:11:25 +00:00
scraper - Add retrieving top 3 songs from Deezer for each act, 2026-08-02 20:11:25 +00:00
server add authentication for the scrape and add venue features 2026-08-02 20:58:04 +00:00
worker - Add retrieving top 3 songs from Deezer for each act, 2026-08-02 20:11:25 +00:00
.gitignore Melious/Kimi3 complete to Trix and DeRoma 2026-08-02 18:46:44 +00:00
go.mod add authentication for the scrape and add venue features 2026-08-02 20:58:04 +00:00
go.sum add authentication for the scrape and add venue features 2026-08-02 20:58:04 +00:00
main.go add authentication for the scrape and add venue features 2026-08-02 20:58:04 +00:00
PLAN.md a more extensive prompt for what I want and a plan built 2026-07-31 16:10:30 +02:00
PROMPT.md a more extensive prompt for what I want and a plan built 2026-07-31 16:10:30 +02:00
README.md - Add retrieving top 3 songs from Deezer for each act, 2026-08-02 20:11:25 +00:00

upven — Upcoming Venue

A Go web app that scrapes upcoming music shows from venue calendar pages and tracks them in SQLite, with an HTMX-powered dark-mode web UI.

Features

  • Register venue calendar URLs via the web UI
  • Headless-Chrome scraping (JS-heavy pages supported) in background jobs
  • Modular scraper pipeline: dedicated per-site scrapers (currently trixonline.be) first, then schema.org JSON-LD (Event/MusicEvent), then a configurable CSS-selector fallback
  • Default 90-day scrape window; browse shows by 14 days / month / all / custom range
  • After each scrape, fetches the top 3 songs per act from the Deezer public API and stores them in the database
  • Live scrape-status badges that poll every 2s via HTMX

Requirements

  • Go 1.25+ toolchain
  • chromium-headless-shell (or Chrome/Chromium) in PATH

Run

go build -o upven .
./upven            # serves http://localhost:8095, creates upven.db

Flags: -addr :8095, -db upven.db, -workers 2.

Layout

Path Purpose
db/ SQLite store (modernc.org/sqlite), schema + repositories
scraper/ Scraper interface, chromedp browser, dedicated-venue + JSON-LD + CSS extractors
worker/ In-process async job queue
server/ chi HTTP routes, embedded templates + static assets