# simobin/studentmanagementsystem architecture

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

- Interactive diagram: https://gitdiagram.com/simobin/studentmanagementsystem
- Repository: https://github.com/simobin/studentmanagementsystem

## Overview

This is a console-based student and academic-record manager. A user selects an operation from the menu; the program handles student records, enrollment, marks and GPA, student search, and course and department browsing or creation, issuing SQL commands to SQL Server. The implementation is concentrated in one file, so feature nodes share its path. The README documents capabilities beyond the sampled excerpts; their menu-level presence is represented, but uncertain internal call wiring is omitted.

Main entry points: [`StudentManagementSystem/Program.cs`](https://github.com/simobin/studentmanagementsystem/blob/main/StudentManagementSystem/Program.cs) (Menu and dispatch), [`Database/Database.sql`](https://github.com/simobin/studentmanagementsystem/blob/main/Database/Database.sql) (SQL Server database)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interaction["Console interaction"]
  node_menu["Menu and dispatch<br/>[Program.cs]"]
  node_student_crud["Student CRUD<br/>[Program.cs]"]
  node_student_search["Student search<br/>[Program.cs]"]
end

subgraph group_academics["Academic records"]
  node_enrollment["Course enrollment<br/>[Program.cs]"]
  node_marks_gpa["Marks and GPA<br/>[Program.cs]"]
  node_academic_lookup["Student course grades<br/>[Program.cs]"]
end

subgraph group_catalog["Academic catalog"]
  node_course_catalog["Course catalog<br/>[Program.cs]"]
  node_department_catalog["Department catalog<br/>[Program.cs]"]
end

node_user(("User"))
node_sqlserver[("SQL Server database<br/>[Database.sql]")]

node_user -->|"chooses operation"| node_menu
node_menu -->|"dispatches"| node_student_crud
node_menu -->|"dispatches"| node_student_search
node_menu -->|"dispatches"| node_enrollment
node_menu -->|"dispatches"| node_marks_gpa
node_menu -->|"dispatches"| node_academic_lookup
node_menu -->|"dispatches"| node_course_catalog
node_menu -->|"dispatches"| node_department_catalog
node_student_crud -->|"reads and writes"| node_sqlserver
node_student_search -->|"reads"| node_sqlserver
node_enrollment -->|"reads and writes"| node_sqlserver
node_marks_gpa -->|"writes"| node_sqlserver
node_academic_lookup -->|"reads"| node_sqlserver
node_course_catalog -->|"reads and writes"| node_sqlserver
node_department_catalog -->|"reads and writes"| node_sqlserver

click node_menu "https://github.com/simobin/studentmanagementsystem/blob/main/StudentManagementSystem/Program.cs"
click node_student_crud "https://github.com/simobin/studentmanagementsystem/blob/main/StudentManagementSystem/Program.cs"
click node_student_search "https://github.com/simobin/studentmanagementsystem/blob/main/StudentManagementSystem/Program.cs"
click node_enrollment "https://github.com/simobin/studentmanagementsystem/blob/main/StudentManagementSystem/Program.cs"
click node_marks_gpa "https://github.com/simobin/studentmanagementsystem/blob/main/StudentManagementSystem/Program.cs"
click node_academic_lookup "https://github.com/simobin/studentmanagementsystem/blob/main/StudentManagementSystem/Program.cs"
click node_course_catalog "https://github.com/simobin/studentmanagementsystem/blob/main/StudentManagementSystem/Program.cs"
click node_department_catalog "https://github.com/simobin/studentmanagementsystem/blob/main/StudentManagementSystem/Program.cs"
click node_sqlserver "https://github.com/simobin/studentmanagementsystem/blob/main/Database/Database.sql"

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_menu,node_student_crud,node_student_search,node_user toneBlue
class node_enrollment,node_marks_gpa,node_academic_lookup,node_sqlserver toneAmber
class node_course_catalog,node_department_catalog toneMint
```

## Components

### Console interaction

- [Menu and dispatch](https://github.com/simobin/studentmanagementsystem/blob/main/StudentManagementSystem/Program.cs): `StudentManagementSystem/Program.cs`
- [Student CRUD](https://github.com/simobin/studentmanagementsystem/blob/main/StudentManagementSystem/Program.cs): `StudentManagementSystem/Program.cs`
- [Student search](https://github.com/simobin/studentmanagementsystem/blob/main/StudentManagementSystem/Program.cs): `StudentManagementSystem/Program.cs`

### Academic records

- [Course enrollment](https://github.com/simobin/studentmanagementsystem/blob/main/StudentManagementSystem/Program.cs): `StudentManagementSystem/Program.cs`
- [Marks and GPA](https://github.com/simobin/studentmanagementsystem/blob/main/StudentManagementSystem/Program.cs): `StudentManagementSystem/Program.cs`
- [Student course grades](https://github.com/simobin/studentmanagementsystem/blob/main/StudentManagementSystem/Program.cs): `StudentManagementSystem/Program.cs`

### Academic catalog

- [Course catalog](https://github.com/simobin/studentmanagementsystem/blob/main/StudentManagementSystem/Program.cs): `StudentManagementSystem/Program.cs`
- [Department catalog](https://github.com/simobin/studentmanagementsystem/blob/main/StudentManagementSystem/Program.cs): `StudentManagementSystem/Program.cs`

### Other components

- **User**
- [SQL Server database](https://github.com/simobin/studentmanagementsystem/blob/main/Database/Database.sql): `Database/Database.sql`

## Connections

- User → Menu and dispatch: chooses operation
- Menu and dispatch → Student CRUD: dispatches
- Menu and dispatch → Student search: dispatches
- Menu and dispatch → Course enrollment: dispatches
- Menu and dispatch → Marks and GPA: dispatches
- Menu and dispatch → Student course grades: dispatches
- Menu and dispatch → Course catalog: dispatches
- Menu and dispatch → Department catalog: dispatches
- Student CRUD → SQL Server database: reads and writes
- Student search → SQL Server database: reads
- Course enrollment → SQL Server database: reads and writes
- Marks and GPA → SQL Server database: writes
- Student course grades → SQL Server database: reads
- Course catalog → SQL Server database: reads and writes
- Department catalog → SQL Server database: reads and writes
