Setradar

Lineup-Berlin

Artist Spotlight manuell anpassen

Der Artist Spotlight auf der Startseite waehlt automatisch 3 Acts aus den Bewertungen der letzten 2 Tage. Falls du die Auswahl manuell ueberschreiben willst, kannst du in frontend/js/home.js direkt nach der Funktion loadActSpotlight() einen Override eintragen:

// MANUELLER SPOTLIGHT-OVERRIDE (temporaer)
// Einfach spotlightActs direkt setzen, bevor die Funktion endet:
spotlightActs = [
  {
    actId: 42,           // act.id aus der acts-Tabelle
    actName: 'ARTIST NAME',
    clubName: 'Berghain',
    avg_rating: 4.8,
    rating_count: 23,
    surprise_pct: 0.6,
    label: 'ÜBERRASCHUNG', // oder 'BESTER ACT' oder 'GEHEIMTIPP'
  },
  // weitere Acts...
];
return; // danach return, damit die DB-Logik nicht mehr laeuft

Die act_id findest du z.B. mit folgendem SQL im Supabase SQL Editor:

SELECT id, name FROM acts ORDER BY name;

Um aktuellen DB Stand zu bekommen führe folgenden SQL Befehl aus und kopiere den Output in CLaude

SELECT table_name, column_name, data_type, is_nullable FROM information_schema.columns WHERE table_schema = ‘public’ ORDER BY table_name, ordinal_position;

Minimales Python-Projekt mit Python 3.12 und lokaler Virtual Environment (.venv). Diese Anleitung gilt nur fuer Windows.

Voraussetzungen

Projekt starten

Fuer das Frontend in frontend/js/config.js einen aktuellen Supabase Publishable Key eintragen:

SUPABASE_PUBLISHABLE_KEY: 'sb_publishable_...'

Die alten JWT-basierten anon-Keys (eyJ...) werden von Supabase nicht mehr akzeptiert und fuehren sonst zum Fallback auf Demo-Daten.

1. Venv erstellen (PowerShell)

py -3.12 -m venv .venv

2. Venv aktivieren

PowerShell:

.\.venv\Scripts\Activate.ps1

3. Optional: Tools aus pyproject.toml installieren

python -m pip install --upgrade pip
pip install -e .[dev]

4. App starten

python main.py

Erwartete Ausgabe:

Hello World

Venv verlassen

deactivate

Naechster Start (ab dann immer)

Wenn die Umgebung bereits einmal erstellt wurde:

  1. Ins Projektverzeichnis wechseln
  2. Venv aktivieren
  3. App starten
.\.venv\Scripts\Activate.ps1
python main.py

Datenbank / Lineup Workflow

Die Datei backend/database/lineup_seed_example.json ist die Quelle fuer das initiale Lineup. Aus ihr wird SQL erzeugt (backend/database/lineup_init.sql) und danach nach Supabase geseedet.

Neue Info/Feld in der init JSON hinzufuegen

Beispiel: neues Feld insta_name in jedem Act.

  1. JSON-Struktur erweitern
  1. Schema-Generator anpassen
  1. Supabase-Seeder anpassen
  1. lineup_init.sql neu erzeugen
python backend/database/create_schema_from_json.py --input backend/database/lineup_seed_example.json --output backend/database/lineup_init.sql
  1. SQL in Supabase ausfuehren
  1. Daten neu seeden
.\.venv\Scripts\python.exe backend/database/supabase_seed_lineup.py --input backend/database/lineup_seed_example.json
  1. Ergebnis pruefen (optional)
.\.venv\Scripts\python.exe backend/database/supabase_dump_all_tables.py --output backend/database/supabase_all_tables_dump.json

Dann in backend/database/supabase_all_tables_dump.json kontrollieren, ob das neue Feld in der Zieltabelle angekommen ist.