# abonaeem657/student-course-management-system architecture

> Architecture diagram of the GitHub repository abonaeem657/student-course-management-system, 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/abonaeem657/student-course-management-system
- Repository: https://github.com/abonaeem657/student-course-management-system

## Overview

This is an ASP.NET Core MVC student course management application. Users manage students and courses, then create and maintain enrollments linking the two; controllers validate requests, use Entity Framework through the shared context, and render Razor views. The graph reflects the sampled controllers, context, models, and startup configuration; other view behavior and any additional capabilities are inferred only from the file tree.

Main entry points: [`Student Course Management System/Data/ApplicationDbContext.cs`](https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Data/ApplicationDbContext.cs) (EF Context), [`Student Course Management System/Program.cs`](https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Program.cs) (MVC Runtime), [`Student Course Management System/Controllers/StudentController.cs`](https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Controllers/StudentController.cs) (Student Controller), [`Student Course Management System/Controllers/CourseController.cs`](https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Controllers/CourseController.cs) (Course Controller)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web Application"]
  node_runtime["MVC Runtime<br/>[Program.cs]"]
  node_home_controller["Home Controller<br/>[HomeController.cs]"]
  node_home_views["Home Views"]
end

subgraph group_students["Student Management"]
  node_student_controller["Student Controller"]
  node_student_views["Student Views"]
  node_student_model["Student Model<br/>[Student.cs]"]
end

subgraph group_courses["Course Management"]
  node_course_controller["Course Controller"]
  node_course_views["Course Views"]
  node_course_model["Course Model<br/>[Course.cs]"]
end

subgraph group_enrollments["Enrollment Management"]
  node_enrollment_controller["Enrollment Controller"]
  node_enrollment_views["Enrollment Views"]
  node_enrollment_model["Enrollment Model<br/>[Enrollment.cs]"]
end

subgraph group_data["Persistence"]
  node_context["EF Context"]
end

node_user(("Browser User"))
node_sql[("SQL Server")]

node_user -->|"sends requests"| node_runtime
node_runtime -->|"routes requests"| node_student_controller
node_runtime -->|"routes requests"| node_course_controller
node_runtime -->|"routes requests"| node_enrollment_controller
node_runtime -->|"routes requests"| node_home_controller
node_student_controller -->|"reads and writes"| node_context
node_course_controller -->|"reads and writes"| node_context
node_enrollment_controller -->|"reads and writes"| node_context
node_context -->|"queries and saves"| node_sql
node_context -->|"maps entity"| node_student_model
node_context -->|"maps entity"| node_course_model
node_context -->|"maps entity"| node_enrollment_model
node_student_controller -->|"renders views"| node_student_views
node_course_controller -->|"renders views"| node_course_views
node_enrollment_controller -->|"renders views"| node_enrollment_views
node_home_controller -->|"renders views"| node_home_views

click node_runtime "https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Program.cs"
click node_student_controller "https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Controllers/StudentController.cs"
click node_student_views "https://github.com/abonaeem657/student-course-management-system/tree/main/Student%20Course%20Management%20System/Views/Student"
click node_student_model "https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Models/Student.cs"
click node_course_controller "https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Controllers/CourseController.cs"
click node_course_views "https://github.com/abonaeem657/student-course-management-system/tree/main/Student%20Course%20Management%20System/Views/Course"
click node_course_model "https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Models/Course.cs"
click node_enrollment_controller "https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Controllers/EnrollmentController.cs"
click node_enrollment_views "https://github.com/abonaeem657/student-course-management-system/tree/main/Student%20Course%20Management%20System/Views/Enrollment"
click node_enrollment_model "https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Models/Enrollment.cs"
click node_context "https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Data/ApplicationDbContext.cs"
click node_home_controller "https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Controllers/HomeController.cs"
click node_home_views "https://github.com/abonaeem657/student-course-management-system/tree/main/Student%20Course%20Management%20System/Views/Home"

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_runtime,node_home_controller,node_home_views,node_user toneBlue
class node_student_controller,node_student_views,node_student_model,node_sql toneAmber
class node_course_controller,node_course_views,node_course_model toneMint
class node_enrollment_controller,node_enrollment_views,node_enrollment_model toneRose
class node_context toneIndigo
```

## Components

### Web Application

- [MVC Runtime](https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Program.cs): `Student Course Management System/Program.cs`
- [Home Controller](https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Controllers/HomeController.cs): `Student Course Management System/Controllers/HomeController.cs`
- [Home Views](https://github.com/abonaeem657/student-course-management-system/tree/main/Student%20Course%20Management%20System/Views/Home): `Student Course Management System/Views/Home`

### Student Management

- [Student Controller](https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Controllers/StudentController.cs): `Student Course Management System/Controllers/StudentController.cs`
- [Student Views](https://github.com/abonaeem657/student-course-management-system/tree/main/Student%20Course%20Management%20System/Views/Student): `Student Course Management System/Views/Student`
- [Student Model](https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Models/Student.cs): `Student Course Management System/Models/Student.cs`

### Course Management

- [Course Controller](https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Controllers/CourseController.cs): `Student Course Management System/Controllers/CourseController.cs`
- [Course Views](https://github.com/abonaeem657/student-course-management-system/tree/main/Student%20Course%20Management%20System/Views/Course): `Student Course Management System/Views/Course`
- [Course Model](https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Models/Course.cs): `Student Course Management System/Models/Course.cs`

### Enrollment Management

- [Enrollment Controller](https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Controllers/EnrollmentController.cs): `Student Course Management System/Controllers/EnrollmentController.cs`
- [Enrollment Views](https://github.com/abonaeem657/student-course-management-system/tree/main/Student%20Course%20Management%20System/Views/Enrollment): `Student Course Management System/Views/Enrollment`
- [Enrollment Model](https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Models/Enrollment.cs): `Student Course Management System/Models/Enrollment.cs`

### Persistence

- [EF Context](https://github.com/abonaeem657/student-course-management-system/blob/main/Student%20Course%20Management%20System/Data/ApplicationDbContext.cs): `Student Course Management System/Data/ApplicationDbContext.cs`

### Other components

- **Browser User**
- **SQL Server**

## Connections

- Browser User → MVC Runtime: sends requests
- MVC Runtime → Student Controller: routes requests
- MVC Runtime → Course Controller: routes requests
- MVC Runtime → Enrollment Controller: routes requests
- MVC Runtime → Home Controller: routes requests
- Student Controller → EF Context: reads and writes
- Course Controller → EF Context: reads and writes
- Enrollment Controller → EF Context: reads and writes
- EF Context → SQL Server: queries and saves
- EF Context → Student Model: maps entity
- EF Context → Course Model: maps entity
- EF Context → Enrollment Model: maps entity
- Student Controller → Student Views: renders views
- Course Controller → Course Views: renders views
- Enrollment Controller → Enrollment Views: renders views
- Home Controller → Home Views: renders views
