# rakeshraja685/farewell2026-new architecture

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

- Interactive diagram: https://gitdiagram.com/rakeshraja685/farewell2026-new
- Repository: https://github.com/rakeshraja685/farewell2026-new

## Overview

This is a class-farewell keepsake website: visitors enter through session-based access, then browse class memories, people, videos, and a 3D classroom, or contribute farewell messages. The main route composition is visible in `src/App.jsx`; sampled page and component references support several content and presentation links. `src/MemoryWall.jsx` is present but not wired by the sampled router. Other page internals were not inspected, so their inferred connections are omitted.

Main entry points: [`src/App.jsx`](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/App.jsx) (Route controller), [`src/pages/FarewellMessages.jsx`](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/pages/FarewellMessages.jsx) (Farewell messages), [`src/components/layout/Layout.jsx`](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/components/layout/Layout.jsx) (Shared layout), [`src/pages/Gallery.jsx`](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/pages/Gallery.jsx) (Photo gallery)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_routing["Access and layout"]
  node_app["Route controller<br/>[App.jsx]"]
  node_login["Session login<br/>[Login.jsx]"]
  node_layout["Shared layout<br/>[Layout.jsx]"]
  node_navbar["Navigation<br/>[Navbar.jsx]"]
  node_footer["Site footer<br/>[Footer.jsx]"]
end

subgraph group_memories["Class memories"]
  node_landing["Farewell home<br/>[LandingPage.jsx]"]
  node_gallery["Photo gallery<br/>[Gallery.jsx]"]
  node_gallerydata["Gallery content<br/>[gallery.js]"]
  node_lightbox["Photo lightbox<br/>[Lightbox.jsx]"]
  node_memorywall["Memory wall<br/>[MemoryWall.jsx]"]
  node_memories_data["Memory content<br/>[memories.js]"]
  node_videos["Video gallery<br/>[Videos.jsx]"]
end

subgraph group_community["Class community"]
  node_yearbook["Class yearbook<br/>[ClassYearbook.jsx]"]
  node_people["Class profiles<br/>[people.js]"]
  node_messages["Farewell messages"]
  node_message_data["Default messages<br/>[messages.js]"]
  node_toast["Feedback toast<br/>[Toast.jsx]"]
  node_firebase["Firebase config<br/>[firebase.js]"]
  node_firestore[("Firestore")]
end

subgraph group_experience["Interactive experience"]
  node_music["Music player<br/>[MusicPlayer.jsx]"]
  node_classroom["3D classroom<br/>[Classroom.jsx]"]
  node_model["Classroom model<br/>[model.glb]"]
end

node_visitor(("Visitor"))

node_visitor -->|"opens"| node_app
node_app -->|"routes to"| node_login
node_app -->|"routes through"| node_layout
node_app -->|"routes to"| node_classroom
node_layout -->|"renders"| node_navbar
node_layout -->|"renders"| node_footer
node_layout -->|"renders"| node_music
node_app -->|"routes to"| node_landing
node_app -->|"routes to"| node_gallery
node_app -->|"routes to"| node_yearbook
node_app -->|"routes to"| node_messages
node_app -->|"routes to"| node_videos
node_gallery -->|"reads"| node_gallerydata
node_gallery -->|"opens"| node_lightbox
node_landing -->|"reads"| node_gallerydata
node_videos -->|"reads"| node_gallerydata
node_memorywall -->|"opens"| node_lightbox
node_memorywall -->|"reads"| node_memories_data
node_yearbook -->|"reads"| node_people
node_messages -->|"reads defaults"| node_message_data
node_messages -->|"renders"| node_toast
node_messages -->|"uses config"| node_firebase
node_messages -->|"reads and writes"| node_firestore
node_classroom -->|"loads"| node_model

click node_app "https://github.com/rakeshraja685/farewell2026-new/blob/main/src/App.jsx"
click node_login "https://github.com/rakeshraja685/farewell2026-new/blob/main/src/pages/Login.jsx"
click node_layout "https://github.com/rakeshraja685/farewell2026-new/blob/main/src/components/layout/Layout.jsx"
click node_navbar "https://github.com/rakeshraja685/farewell2026-new/blob/main/src/components/layout/Navbar.jsx"
click node_footer "https://github.com/rakeshraja685/farewell2026-new/blob/main/src/components/layout/Footer.jsx"
click node_music "https://github.com/rakeshraja685/farewell2026-new/blob/main/src/components/MusicPlayer.jsx"
click node_landing "https://github.com/rakeshraja685/farewell2026-new/blob/main/src/pages/LandingPage.jsx"
click node_gallery "https://github.com/rakeshraja685/farewell2026-new/blob/main/src/pages/Gallery.jsx"
click node_gallerydata "https://github.com/rakeshraja685/farewell2026-new/blob/main/src/data/gallery.js"
click node_lightbox "https://github.com/rakeshraja685/farewell2026-new/blob/main/src/components/Lightbox.jsx"
click node_memorywall "https://github.com/rakeshraja685/farewell2026-new/blob/main/src/pages/MemoryWall.jsx"
click node_memories_data "https://github.com/rakeshraja685/farewell2026-new/blob/main/src/data/memories.js"
click node_yearbook "https://github.com/rakeshraja685/farewell2026-new/blob/main/src/pages/ClassYearbook.jsx"
click node_people "https://github.com/rakeshraja685/farewell2026-new/blob/main/src/data/people.js"
click node_messages "https://github.com/rakeshraja685/farewell2026-new/blob/main/src/pages/FarewellMessages.jsx"
click node_message_data "https://github.com/rakeshraja685/farewell2026-new/blob/main/src/data/messages.js"
click node_toast "https://github.com/rakeshraja685/farewell2026-new/blob/main/src/components/Toast.jsx"
click node_firebase "https://github.com/rakeshraja685/farewell2026-new/blob/main/src/firebase.js"
click node_classroom "https://github.com/rakeshraja685/farewell2026-new/blob/main/src/pages/Classroom.jsx"
click node_model "https://github.com/rakeshraja685/farewell2026-new/blob/main/public/3d-model/model.glb"
click node_videos "https://github.com/rakeshraja685/farewell2026-new/blob/main/src/pages/Videos.jsx"

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_app,node_login,node_layout,node_navbar,node_footer toneBlue
class node_landing,node_gallery,node_gallerydata,node_lightbox,node_memorywall,node_memories_data,node_videos toneAmber
class node_yearbook,node_people,node_messages,node_message_data,node_toast,node_firebase,node_firestore toneMint
class node_music,node_classroom,node_model toneRose
class node_visitor toneIndigo
```

## Components

### Access and layout

- [Route controller](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/App.jsx): `src/App.jsx`
- [Session login](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/pages/Login.jsx): `src/pages/Login.jsx`
- [Shared layout](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/components/layout/Layout.jsx): `src/components/layout/Layout.jsx`
- [Navigation](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/components/layout/Navbar.jsx): `src/components/layout/Navbar.jsx`
- [Site footer](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/components/layout/Footer.jsx): `src/components/layout/Footer.jsx`

### Class memories

- [Farewell home](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/pages/LandingPage.jsx): `src/pages/LandingPage.jsx`
- [Photo gallery](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/pages/Gallery.jsx): `src/pages/Gallery.jsx`
- [Gallery content](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/data/gallery.js): `src/data/gallery.js`
- [Photo lightbox](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/components/Lightbox.jsx): `src/components/Lightbox.jsx`
- [Memory wall](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/pages/MemoryWall.jsx): `src/pages/MemoryWall.jsx`
- [Memory content](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/data/memories.js): `src/data/memories.js`
- [Video gallery](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/pages/Videos.jsx): `src/pages/Videos.jsx`

### Class community

- [Class yearbook](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/pages/ClassYearbook.jsx): `src/pages/ClassYearbook.jsx`
- [Class profiles](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/data/people.js): `src/data/people.js`
- [Farewell messages](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/pages/FarewellMessages.jsx): `src/pages/FarewellMessages.jsx`
- [Default messages](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/data/messages.js): `src/data/messages.js`
- [Feedback toast](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/components/Toast.jsx): `src/components/Toast.jsx`
- [Firebase config](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/firebase.js): `src/firebase.js`
- **Firestore**

### Interactive experience

- [Music player](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/components/MusicPlayer.jsx): `src/components/MusicPlayer.jsx`
- [3D classroom](https://github.com/rakeshraja685/farewell2026-new/blob/main/src/pages/Classroom.jsx): `src/pages/Classroom.jsx`
- [Classroom model](https://github.com/rakeshraja685/farewell2026-new/blob/main/public/3d-model/model.glb): `public/3d-model/model.glb`

### Other components

- **Visitor**

## Connections

- Visitor → Route controller: opens
- Route controller → Session login: routes to (evidence: `src/App.jsx`)
- Route controller → Shared layout: routes through (evidence: `src/App.jsx`)
- Route controller → 3D classroom: routes to (evidence: `src/App.jsx`)
- Shared layout → Navigation: renders (evidence: `src/components/layout/Layout.jsx`)
- Shared layout → Site footer: renders (evidence: `src/components/layout/Layout.jsx`)
- Shared layout → Music player: renders (evidence: `src/components/layout/Layout.jsx`)
- Route controller → Farewell home: routes to (evidence: `src/App.jsx`)
- Route controller → Photo gallery: routes to (evidence: `src/App.jsx`)
- Route controller → Class yearbook: routes to (evidence: `src/App.jsx`)
- Route controller → Farewell messages: routes to (evidence: `src/App.jsx`)
- Route controller → Video gallery: routes to (evidence: `src/App.jsx`)
- Photo gallery → Gallery content: reads (evidence: `src/pages/Gallery.jsx`)
- Photo gallery → Photo lightbox: opens (evidence: `src/pages/Gallery.jsx`)
- Farewell home → Gallery content: reads (evidence: `src/pages/LandingPage.jsx`)
- Video gallery → Gallery content: reads (evidence: `src/pages/Videos.jsx`)
- Memory wall → Photo lightbox: opens (evidence: `src/pages/MemoryWall.jsx`)
- Memory wall → Memory content: reads (evidence: `src/pages/MemoryWall.jsx`)
- Class yearbook → Class profiles: reads (evidence: `src/pages/ClassYearbook.jsx`)
- Farewell messages → Default messages: reads defaults (evidence: `src/pages/FarewellMessages.jsx`)
- Farewell messages → Feedback toast: renders (evidence: `src/pages/FarewellMessages.jsx`)
- Farewell messages → Firebase config: uses config (evidence: `src/pages/FarewellMessages.jsx`)
- Farewell messages → Firestore: reads and writes (evidence: `src/pages/FarewellMessages.jsx`)
- 3D classroom → Classroom model: loads (evidence: `src/pages/Classroom.jsx`)
