# cssaberkeley/cssa architecture

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

- Interactive diagram: https://gitdiagram.com/cssaberkeley/cssa
- Repository: https://github.com/cssaberkeley/cssa

## Overview

This repository is the official Cognitive Science Student Association website at UC Berkeley. Its principal user workflow is browsing association information, people, events, conference materials, and academic resources through static pages and linked documents. The site also includes interactive navigation, expandable content, a faculty tree, and animated particles. The tree and README establish the content areas; sampled JavaScript supports only the shown interactions. Page-to-script wiring and links among unsampled pages are not mapped because they were not evidenced.

Main entry points: [`app.js`](https://github.com/cssaberkeley/cssa/blob/main/app.js) (Navigation behavior), [`dndTree.js`](https://github.com/cssaberkeley/cssa/blob/main/dndTree.js) (Faculty tree), [`index.html`](https://github.com/cssaberkeley/cssa/blob/main/index.html) (Home), [`particles.js`](https://github.com/cssaberkeley/cssa/blob/main/particles.js) (Particle animation)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_content["Association Information"]
  node_home["Home<br/>[index.html]"]
  node_about["About<br/>[about.html]"]
  node_involvement["Involvement<br/>[involvement.html]"]
  node_people["People"]
  node_people_archive["People archive"]
end

subgraph group_programs["Events and Conferences"]
  node_events["Events<br/>[events.html]"]
  node_conference["Conference<br/>[conference.html]"]
  node_ccsc_archive["CCSC archive<br/>[ccsc-25.html]"]
  node_cogscicon_archive["CogSciCon archive<br/>[ccsc-25.html]"]
  node_newsletter["Newsletter<br/>[newsletter.html]"]
end

subgraph group_academics["Academic Resources"]
  node_honors["Honors archive<br/>[honorsarchive.html]"]
  node_theses["Honors theses"]
  node_resources["Resources<br/>[resources.html]"]
  node_faculty_map["Faculty map<br/>[faculty_map.html]"]
end

subgraph group_interactive["Interactive Features"]
  node_nav_interaction["Navigation behavior<br/>[app.js]"]
  node_discipline_interaction["Discipline selector<br/>[app.js]"]
  node_particle_engine["Particle animation<br/>[particles.js]"]
  node_faculty_tree["Faculty tree<br/>[dndTree.js]"]
  node_faculty_data["Faculty data<br/>[profs.json]"]
  node_member_disclosures["Member disclosures<br/>[other.js]"]
  node_conference_disclosures["Conference disclosures<br/>[other2.js]"]
  node_researcher_disclosures["Researcher disclosures<br/>[other3.js]"]
end

node_visitor(("Website visitor"))

node_visitor -->|"browses"| node_home
node_nav_interaction -->|"initializes"| node_particle_engine
node_faculty_tree -->|"loads JSON"| node_faculty_data

click node_home "https://github.com/cssaberkeley/cssa/blob/main/index.html"
click node_about "https://github.com/cssaberkeley/cssa/blob/main/about.html"
click node_involvement "https://github.com/cssaberkeley/cssa/blob/main/involvement.html"
click node_people "https://github.com/cssaberkeley/cssa/blob/main/2025-2026people.html"
click node_people_archive "https://github.com/cssaberkeley/cssa/blob/main/2022-2023people.html"
click node_events "https://github.com/cssaberkeley/cssa/blob/main/events.html"
click node_conference "https://github.com/cssaberkeley/cssa/blob/main/conference.html"
click node_ccsc_archive "https://github.com/cssaberkeley/cssa/blob/main/ccsc-25.html"
click node_cogscicon_archive "https://github.com/cssaberkeley/cssa/blob/main/cogscicon/ccsc-25.html"
click node_newsletter "https://github.com/cssaberkeley/cssa/blob/main/newsletter.html"
click node_honors "https://github.com/cssaberkeley/cssa/blob/main/honorsarchive.html"
click node_theses "https://github.com/cssaberkeley/cssa/tree/main/htheses"
click node_resources "https://github.com/cssaberkeley/cssa/blob/main/resources.html"
click node_faculty_map "https://github.com/cssaberkeley/cssa/blob/main/faculty_map.html"
click node_nav_interaction "https://github.com/cssaberkeley/cssa/blob/main/app.js"
click node_discipline_interaction "https://github.com/cssaberkeley/cssa/blob/main/app.js"
click node_particle_engine "https://github.com/cssaberkeley/cssa/blob/main/particles.js"
click node_faculty_tree "https://github.com/cssaberkeley/cssa/blob/main/dndTree.js"
click node_faculty_data "https://github.com/cssaberkeley/cssa/blob/main/profs.json"
click node_member_disclosures "https://github.com/cssaberkeley/cssa/blob/main/other.js"
click node_conference_disclosures "https://github.com/cssaberkeley/cssa/blob/main/other2.js"
click node_researcher_disclosures "https://github.com/cssaberkeley/cssa/blob/main/other3.js"

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_home,node_about,node_involvement,node_people,node_people_archive toneBlue
class node_events,node_conference,node_ccsc_archive,node_cogscicon_archive,node_newsletter toneAmber
class node_honors,node_theses,node_resources,node_faculty_map toneMint
class node_nav_interaction,node_discipline_interaction,node_particle_engine,node_faculty_tree,node_faculty_data,node_member_disclosures,node_conference_disclosures,node_researcher_disclosures toneRose
class node_visitor toneIndigo
```

## Components

### Association Information

- [Home](https://github.com/cssaberkeley/cssa/blob/main/index.html): `index.html`
- [About](https://github.com/cssaberkeley/cssa/blob/main/about.html): `about.html`
- [Involvement](https://github.com/cssaberkeley/cssa/blob/main/involvement.html): `involvement.html`
- [People](https://github.com/cssaberkeley/cssa/blob/main/2025-2026people.html): `2025-2026people.html`
- [People archive](https://github.com/cssaberkeley/cssa/blob/main/2022-2023people.html): `2022-2023people.html`

### Events and Conferences

- [Events](https://github.com/cssaberkeley/cssa/blob/main/events.html): `events.html`
- [Conference](https://github.com/cssaberkeley/cssa/blob/main/conference.html): `conference.html`
- [CCSC archive](https://github.com/cssaberkeley/cssa/blob/main/ccsc-25.html): `ccsc-25.html`
- [CogSciCon archive](https://github.com/cssaberkeley/cssa/blob/main/cogscicon/ccsc-25.html): `cogscicon/ccsc-25.html`
- [Newsletter](https://github.com/cssaberkeley/cssa/blob/main/newsletter.html): `newsletter.html`

### Academic Resources

- [Honors archive](https://github.com/cssaberkeley/cssa/blob/main/honorsarchive.html): `honorsarchive.html`
- [Honors theses](https://github.com/cssaberkeley/cssa/tree/main/htheses): `htheses`
- [Resources](https://github.com/cssaberkeley/cssa/blob/main/resources.html): `resources.html`
- [Faculty map](https://github.com/cssaberkeley/cssa/blob/main/faculty_map.html): `faculty_map.html`

### Interactive Features

- [Navigation behavior](https://github.com/cssaberkeley/cssa/blob/main/app.js): `app.js`
- [Discipline selector](https://github.com/cssaberkeley/cssa/blob/main/app.js): `app.js`
- [Particle animation](https://github.com/cssaberkeley/cssa/blob/main/particles.js): `particles.js`
- [Faculty tree](https://github.com/cssaberkeley/cssa/blob/main/dndTree.js): `dndTree.js`
- [Faculty data](https://github.com/cssaberkeley/cssa/blob/main/profs.json): `profs.json`
- [Member disclosures](https://github.com/cssaberkeley/cssa/blob/main/other.js): `other.js`
- [Conference disclosures](https://github.com/cssaberkeley/cssa/blob/main/other2.js): `other2.js`
- [Researcher disclosures](https://github.com/cssaberkeley/cssa/blob/main/other3.js): `other3.js`

### Other components

- **Website visitor**

## Connections

- Website visitor → Home: browses (evidence: `README.md`)
- Navigation behavior → Particle animation: initializes (evidence: `app.js`)
- Faculty tree → Faculty data: loads JSON (evidence: `dndTree.js`)
