# Encore – Event Discovery Frontend-Projekt für das Modul cds-208 an der FHGR (Frühlingssemester 2026). --- ## Projektbeschreibung **Encore** ist eine webbasierte Event-Discovery-Plattform. Nutzer können Konzerte, Sportveranstaltungen und Kulturanlässe in jeder Stadt direkt über die Ticketmaster-API suchen und filtern – ohne sich durch überladene Buchungsportale kämpfen zu müssen. Die drei Kernziele der Anwendung: - **Entdecken**: Events nach Stadt, Datum und Kategorie filtern - **Organisieren**: Interessante Events lokal speichern und in der eigenen Event-Liste verwalten - **Teilen**: Andere registrierte Nutzer direkt zu Events einladen und auf Einladungen reagieren --- ## Besondere Features | Feature | Beschreibung | |---|---| | **Ticketmaster-Integration** | Live-Daten über einen eigenen Backend-Proxy (API-Key bleibt serverseitig) | | **Dreifachfilter** | Gleichzeitig nach Stadt, Datumsbereich und Kategorie filtern | | **My Events** | Gespeicherte Events in einer eigenen Ansicht mit Entfernen-Option | | **Einladungssystem** | Nutzer können andere per Inline-Formular zu Events einladen und Einladungen annehmen/ablehnen | | **Vollständig responsiv** | Optimiert für Mobile, Tablet und Desktop (Bootstrap-Grid + eigenes CSS) | | **XSS-Schutz** | Alle nutzerkontrollierten Daten werden via `textContent` und DOM-Methoden gerendert (kein `innerHTML` mit externen Daten) | | **Accessibility (WCAG A)** | Semantisches HTML5, ARIA-Labels, sichtbare Labels für alle Formularfelder, `aria-live`-Regionen | --- ## Installation & lokale Ausführung ### 1. Repository klonen ```bash git clone https://gitea.fhgr.ch/augsbunicola/AISE_FS26-FrontendEntwicklungProjekt.git cd AISE_FS26-FrontendEntwicklungProjekt ``` ### 2. Abhängigkeiten installieren ```bash npm install ``` ### 3. Umgebungsvariablen / Ticketmaster API Für die Bewertung enthält die Abgabe bereits eine vorkonfigurierte `.env`-Datei, sodass die Anwendung ohne zusätzliche Konfiguration gestartet werden kann. In einer regulären Installation muss eine eigene `.env`-Datei im Projektstamm erstellt werden: ```env TM_API_KEY=your_ticketmaster_api_key ``` Ein kostenloser API-Key kann über das Ticketmaster Developer Portal bezogen werden: https://developer.ticketmaster.com/ Zusätzlich ist eine `.env.example`-Datei enthalten, welche die erwartete Struktur der Umgebungsvariablen dokumentiert. ### 4. Backend-Server starten ```bash npm start ``` Ausgabe: ```text Server läuft auf http://localhost:3000 ``` ### 5. Frontend öffnen Öffne `index.html` direkt im Browser (kein separater Dev-Server nötig). > **Tipp:** Verwende die Live Server Extension in VS Code für automatisches Reload. --- ## Verwendete Technologien, Libraries & Frameworks | Kategorie | Technologie | Begründung | |---|---|---| | **Markup** | HTML5 (semantisch) | Strukturierung mit `
`, `
`, `