Lohnt sich dein eigenes tcgevents?
Findet und listet Sammelkartenspielturniere und Veranstaltungen lokaler Läden, damit Spieler wissen, wo sie hingehen können.
Die Software ist hier eine durchsuchbare Liste mit Karte und ein paar Filtern, die ein Agent erstellen kann, bevor dein Kaffee kalt wird. Das Produkt ist nicht die Liste, sondern die Tatsache, dass Veranstaltungen darin stehen: Ladenbesitzer veröffentlichen Termine, Veranstalter halten Daten aktuell, Spieler vertrauen der Liste genug, um wöchentlich nachzusehen. Wenn du sie scrapst, besitzt du eine Momentaufnahme, die veraltet, sobald ein Laden seinen Draft am Freitagabend verschiebt. Offizielle Veranstaltungsfinder der Verlage gibt es, aber sie sind unvollständig, haben Ratenlimits und erschweren die Massennutzung. Die kleinen Veranstaltungen der lokalen Szene tauchen dort überhaupt nicht auf. Baue dir den persönlichen Tracker, wenn du in zwei Städten spielst, aber tu nicht so, als würde er das Verzeichnis ersetzen.
EN → DERecherche automatisch aus dem Englischen übersetzt. Original-Prompt auf Englisch beibehalten.
Build a local-first trading card game event tracker. Single Python project, no accounts, no cloud, no telemetry.
Stack, non negotiable:
- Python 3.11, FastAPI, Jinja2 templates, SQLite via sqlite3 stdlib
- Plain server rendered HTML plus a little vanilla JS, no build step, no npm
- Leaflet from a CDN for the map, OpenStreetMap tiles
Data model (events): id, game (magic, pokemon, yugioh, lorcana, other), title, format, venue_name, address, city, country, lat, lon, starts_at (UTC), ends_at nullable, entry_fee nullable, url nullable, notes, source (manual or paste), created_at, updated_at.
Also a settings row for home_lat, home_lon, default_radius_km.
Features, in scope:
1. Add and edit events through a simple HTML form. Manual entry is the primary path, treat it as first class.
2. A "paste dump" page: textarea where I paste messy text from a store Discord or Facebook post, plus a parser that extracts candidate title, date, time and fee with regex and dateutil, then shows an editable pre-filled form. No LLM call. If parsing fails, say so and let me fill it in.
3. List view: filter by game, date range, city, and distance from home using haversine on stored lat/lon. Sort by starts_at.
4. Map view: pins for filtered events, popup with title, time, venue, link.
5. Calendar: current month grid, events per day.
6. Export: /export.ics returns a valid VCALENDAR of the current filter. Also /export.json.
7. Geocoding: optional. If GEOCODE_PROVIDER and GEOCODE_API_KEY are set in .env, geocode addresses on save; otherwise leave lat/lon null and hide distance filters gracefully.
8. Recurring events: a weekly repeat option that materializes the next 8 occurrences, each editable and cancellable individually.
Out of scope, do not build: user accounts, multi tenancy, scraping any third party site, push notifications, a mobile app, anything that pretends to have nationwide coverage.
Deliverables: app.py, db.py, parse.py, templates/, static/, schema.sql, .env.example, seed.py with 12 fake events across 3 cities, and a README with run instructions (uvicorn, one command). Include pytest tests for the parser and the ICS output. Timezones: store UTC, display in a TZ set in .env, default America/New_York.Der Prompt öffnet sich vorausgefüllt in deinem Agenten. Prüfe ihn vor dem Ausführen. · dieser Prompt wurde aus dem Bauplan erzeugt · per PR verbessern
Wie sähe deine eigene Version aus?
Ein lokaler Veranstaltungstracker, in den du Turniere einfügst oder manuell einträgst und sie anschließend nach Spiel, Datum und Entfernung durchsuchst, mit Kalender und ICS-Export.
Was du brauchst
- Eine tatsächliche Quelle für Veranstaltungsdaten: offizielle Ladenfinder, Discords der Läden, Facebook-Seiten oder deine eigenen Eingaben
- Optionaler Geocoding-API-Schlüssel in .env, wenn du nach Entfernung filtern möchtest
- Dauerhafte Bereitschaft, deine eigenen Einträge zu pflegen – genau darin liegt der gesamte Haken
Weil die Alternative darin besteht, sechs Facebook-Seiten von Läden, zwei Discords und einen Veranstaltungsfinder des Verlags zu prüfen, der seit der letzten Set-Rotation nicht mehr aktualisiert wurde. Wer hier zahlt, bezahlt dafür, dass jemand anderes die mühsame Zusammenführung übernimmt und aktuell hält. Oder ein Laden zahlt dafür, von Spielern gesehen zu werden, die ohnehin regelmäßig nachsehen. Beides ist kein Softwareproblem. Ein selbst gehosteter Klon liefert dir die Oberfläche, aber keinen der Gründe, sie zu öffnen.
xAbdeckung: Jeder Laden, den du nicht persönlich eingetragen hast, bleibt unsichtbar
xAktualität: Absagen, Ortswechsel und Terminverschiebungen kommen nirgendwo an
xVeranstalterseite: Läden haben keinen Grund, deinem Laptop von ihrem neuen Ligaabend zu erzählen
xEntdeckung auf Reisen: Der ganze Sinn eines Verzeichnisses sind Veranstaltungen in Städten, die du nicht kennst
xJegliche Vereinheitlichung, die die echte Website über Spiele, Formate und regionales Namenschaos hinweg vornimmt
Nichts, worauf sich verweisen ließe. Deshalb gibt es den Prompt.
Was kostet tcgevents?
Kein öffentlicher Preis. Siehe offizielle Website.
In Meine Liste gespeichert. Bei einer Preisänderung erscheint hier ein Hinweis.
Du schließt den Kauf auf der Website von tcgevents ab. Vibe Radar wickelt keine Zahlungen ab.
tcgevents selbst bauen oder abonnieren?
Passe die Zahlen an: Stunden zum Bauen, dein Stundensatz, Betriebskosten und der Abopreis.
Über 24 Monate ist das Abo günstiger.
Startwerte aus der Analyse geschätzt (eine Sitzung). Nicht eingerechnet ist, was dir fehlt (Support, Integrationen, Sicherheit).
Kann ich tcgevents nachbauen?
Eher nicht. Der Wert von tcgevents liegt nicht im Code: Der Burggraben besteht aus jedem lokalen Laden, der dort bereits seine Termine veröffentlicht, und jedem Spieler, der bereits nachsieht. Siehe die Analyse oben.
Was kostet tcgevents?
Der Preis von tcgevents ist nutzungsbasiert oder je nach Tarif unterschiedlich · Kein Abonnement; Veranstalter zahlen 6.5% des Ticketpreises plus 0.25 EUR pro verkauftem Ticket..
Was fehlt mir, wenn ich tcgevents ersetze?
Ehrlich gesagt: Abdeckung: Jeder Laden, den du nicht persönlich eingetragen hast, bleibt unsichtbar; Aktualität: Absagen, Ortswechsel und Terminverschiebungen kommen nirgendwo an; Veranstalterseite: Läden haben keinen Grund, deinem Laptop von ihrem neuen Ligaabend zu erzählen; Entdeckung auf Reisen: Der ganze Sinn eines Verzeichnisses sind Veranstaltungen in Städten, die du nicht kennst; Jegliche Vereinheitlichung, die die echte Website über Spiele, Formate und regionales Namenschaos hinweg vornimmt. Wenn dir davon etwas wichtig ist, zahl weiter.
Gibt es eine Open-Source-Alternative zu tcgevents?
Es gibt keine ausgereifte Open-Source-Alternative, auf die sich verweisen ließe, und genau deshalb gibt es den Prompt auf dieser Seite.