# drbmschick/greenfootseatingchartmaster26-27 architecture

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

- Interactive diagram: https://gitdiagram.com/drbmschick/greenfootseatingchartmaster26-27
- Repository: https://github.com/drbmschick/greenfootseatingchartmaster26-27
- Video tour (about a minute): https://gitdiagram.com/drbmschick/greenfootseatingchartmaster26-27/video

## Overview

This is a Greenfoot interactive classroom seating chart, not a seat-management service: the README’s main workflow is to open the project and interact with student avatars. The sampled `Classroom` code lays out desks and places students; sampled student classes respond to clicks with name/hobby output, audio, and individual animations before returning to a seat. The tree shows desk-grouping and teacher-related classes, but their runtime wiring is not established by the excerpts. Teacher seat reassignment and notes are proposed assignment ideas, not verified features.

Main entry points: [`AbhinavJagtap.java`](https://github.com/drbmschick/greenfootseatingchartmaster26-27/blob/master/AbhinavJagtap.java) (Student avatars), [`Classroom.java`](https://github.com/drbmschick/greenfootseatingchartmaster26-27/blob/master/Classroom.java) (Classroom world), [`Student.java`](https://github.com/drbmschick/greenfootseatingchartmaster26-27/blob/master/Student.java) (Student base), [`sounds`](https://github.com/drbmschick/greenfootseatingchartmaster26-27/tree/master/sounds) (Name recordings)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_world["Classroom world"]
  node_classroom["Classroom world<br/>[Classroom.java]"]
end

subgraph group_interaction["Student interaction"]
  node_student["Student base<br/>[Student.java]"]
  node_student_examples["Student avatars<br/>[AbhinavJagtap.java]"]
  node_student_assets["Name recordings"]
end

subgraph group_classroom["Classroom model"]
  node_desks["Student desks<br/>[StudentDesk.java]"]
  node_desk_groups["Desk groups"]
  node_teacher["Teacher model<br/>[Teacher.java]"]
  node_teacher_desk["Teacher desk<br/>[TeacherDesk.java]"]
end

node_user(("Classroom user"))
node_greenfoot["Greenfoot runtime"]

node_user -->|"interacts through"| node_greenfoot
node_greenfoot -->|"opens world"| node_classroom
node_classroom -->|"places desks"| node_desks
node_classroom -->|"places students"| node_student_examples
node_student_examples -->|"extends"| node_student
node_user -->|"clicks avatar"| node_student_examples
node_student_examples -->|"animates"| node_greenfoot
node_student_examples -->|"plays recording"| node_student_assets

click node_classroom "https://github.com/drbmschick/greenfootseatingchartmaster26-27/blob/master/Classroom.java"
click node_student "https://github.com/drbmschick/greenfootseatingchartmaster26-27/blob/master/Student.java"
click node_student_examples "https://github.com/drbmschick/greenfootseatingchartmaster26-27/blob/master/AbhinavJagtap.java"
click node_student_assets "https://github.com/drbmschick/greenfootseatingchartmaster26-27/tree/master/sounds"
click node_desks "https://github.com/drbmschick/greenfootseatingchartmaster26-27/blob/master/StudentDesk.java"
click node_desk_groups "https://github.com/drbmschick/greenfootseatingchartmaster26-27/blob/master/StudentDeskGroup.java"
click node_teacher "https://github.com/drbmschick/greenfootseatingchartmaster26-27/blob/master/Teacher.java"
click node_teacher_desk "https://github.com/drbmschick/greenfootseatingchartmaster26-27/blob/master/TeacherDesk.java"

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_classroom,node_user toneBlue
class node_student,node_student_examples,node_student_assets toneAmber
class node_desks,node_desk_groups,node_teacher,node_teacher_desk toneMint
class node_greenfoot toneIndigo
```

## Components

### Classroom world

- [Classroom world](https://github.com/drbmschick/greenfootseatingchartmaster26-27/blob/master/Classroom.java): `Classroom.java`

### Student interaction

- [Student base](https://github.com/drbmschick/greenfootseatingchartmaster26-27/blob/master/Student.java): `Student.java`
- [Student avatars](https://github.com/drbmschick/greenfootseatingchartmaster26-27/blob/master/AbhinavJagtap.java): `AbhinavJagtap.java`
- [Name recordings](https://github.com/drbmschick/greenfootseatingchartmaster26-27/tree/master/sounds): `sounds`

### Classroom model

- [Student desks](https://github.com/drbmschick/greenfootseatingchartmaster26-27/blob/master/StudentDesk.java): `StudentDesk.java`
- [Desk groups](https://github.com/drbmschick/greenfootseatingchartmaster26-27/blob/master/StudentDeskGroup.java): `StudentDeskGroup.java`
- [Teacher model](https://github.com/drbmschick/greenfootseatingchartmaster26-27/blob/master/Teacher.java): `Teacher.java`
- [Teacher desk](https://github.com/drbmschick/greenfootseatingchartmaster26-27/blob/master/TeacherDesk.java): `TeacherDesk.java`

### Other components

- **Classroom user**
- **Greenfoot runtime**

## Connections

- Classroom user → Greenfoot runtime: interacts through
- Greenfoot runtime → Classroom world: opens world
- Classroom world → Student desks: places desks
- Classroom world → Student avatars: places students
- Student avatars → Student base: extends
- Classroom user → Student avatars: clicks avatar
- Student avatars → Greenfoot runtime: animates
- Student avatars → Name recordings: plays recording
