# nchebani/festival2026 architecture

> Architecture diagram of the GitHub repository nchebani/festival2026, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/nchebani/festival2026
- Repository: https://github.com/nchebani/festival2026

## Overview

ELIYAH is a small web app with a service worker that handles Firebase push messages and notification clicks. The worker displays notifications and focuses an existing app window or opens one with an optional view hash. The HTML and manifest are present, but their contents and any worker-registration link were not provided, so those relationships are not inferred.

Main entry points: [`firebase-messaging-sw.js`](https://github.com/nchebani/festival2026/blob/main/firebase-messaging-sw.js) (Push service worker)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["Web runtime"]
  node_worker["Push service worker"]
  node_app["App HTML<br/>[index.html]"]
  node_manifest["Web manifest<br/>[manifest.json]"]
end

node_push(("Push messages"))
node_firebase["Firebase Messaging SDK"]
node_notifications["Browser notifications"]
node_windows["App windows"]

node_worker -->|"imports SDK"| node_firebase
node_push -->|"delivers messages"| node_worker
node_worker -->|"shows notification"| node_notifications
node_notifications -->|"dispatches click"| node_worker
node_worker -->|"focuses or opens"| node_windows

click node_worker "https://github.com/nchebani/festival2026/blob/main/firebase-messaging-sw.js"
click node_app "https://github.com/nchebani/festival2026/blob/main/index.html"
click node_manifest "https://github.com/nchebani/festival2026/blob/main/manifest.json"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_worker,node_app,node_manifest,node_notifications toneBlue
class node_push,node_firebase,node_windows toneIndigo
```

## Components

### Web runtime

- [Push service worker](https://github.com/nchebani/festival2026/blob/main/firebase-messaging-sw.js): `firebase-messaging-sw.js`
- [App HTML](https://github.com/nchebani/festival2026/blob/main/index.html): `index.html`
- [Web manifest](https://github.com/nchebani/festival2026/blob/main/manifest.json): `manifest.json`

### Other components

- **Push messages**
- **Firebase Messaging SDK**
- **Browser notifications**
- **App windows**

## Connections

- Push service worker → Firebase Messaging SDK: imports SDK (evidence: `firebase-messaging-sw.js`)
- Push messages → Push service worker: delivers messages (evidence: `firebase-messaging-sw.js`)
- Push service worker → Browser notifications: shows notification (evidence: `firebase-messaging-sw.js`)
- Browser notifications → Push service worker: dispatches click (evidence: `firebase-messaging-sw.js`)
- Push service worker → App windows: focuses or opens (evidence: `firebase-messaging-sw.js`)
