diff --git a/README.md b/README.md index c9e60f9..f619cff 100644 --- a/README.md +++ b/README.md @@ -1,45 +1,150 @@ -# Encore -Frontend Project for cds-208 at FHGR -Collaborators: Pascal Schieman, Nicola Augsburger, Karolina Thöny-Tyganova -## Project Description -**Find your next event in seconds.** Encore is a modern event discovery frontend -that brings Ticketmaster events directly to users through a clean, intelligent -interface. Instead of sifting through cluttered listings, users can instantly browse -concerts, sports, theater, and entertainment by location, date, and category—then -dive into event details to make informed decisions fast. +# Encore – Event Discovery -The product centers on three core goals: -- **Discoverability**: make events easy to find through location and category filters. -- **Decision support**: display essential details (date, venue, city, lineup) at a glance. -- **Usability**: deliver a responsive, intuitive interface that works seamlessly on all devices. -- **Community interaction**: provide event-specific discussion areas with interactive commenting and @-mentions so users can tag and notify each other directly. -- **Social coordination**: enable direct, personalized event invitations between registered users, supported by notifications and dashboard-based invitation management. +Frontend-Projekt für das Modul cds-208 an der FHGR (Frühlingssemester 2026). -Built on Ticketmaster's API, Encore provides real-time event data while maintaining -a lightweight, scalable architecture—ready for future features like personalized -recommendations, saved events, social sharing, and collaborative event planning. +--- + +## 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 -## Setup and run -### Clone the repository ```bash git clone https://gitea.fhgr.ch/augsbunicola/AISE_FS26-FrontendEntwicklungProjekt.git cd AISE_FS26-FrontendEntwicklungProjekt ``` -### Install backend dependencies + +### 2. Abhängigkeiten installieren ```bash npm install ``` -### Configure environment variables (at the moment API key is open to test) -### Start the backend server +### 3. Umgebungsvariable konfigurieren + +Erstelle eine `.env`-Datei im Projektstamm: + +```env +TM_API_KEY=dein_ticketmaster_api_key +``` + +Den API-Key erhältst du kostenlos unter [developer.ticketmaster.com](https://developer.ticketmaster.com). +*(Zum Testen ist im Repository vorübergehend ein Key hinterlegt.)* + +### 4. Backend-Server starten ```bash node server/server.js ``` -you should see: -```txt -Server running on http://localhost:3000 -``` -### Open index.html in your browser \ No newline at end of file +Ausgabe: `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 `
`, `
`, `