# mzulfanr13-code/h1h024008-zulfan-pemweb2 architecture

> Architecture diagram of the GitHub repository mzulfanr13-code/h1h024008-zulfan-pemweb2, 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/mzulfanr13-code/h1h024008-zulfan-pemweb2
- Repository: https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2

## Overview

The tree contains two small web applications: a Laravel student-and-coursework site and a separate Go Fiber demo. In the Laravel app, browser requests enter through Laravel’s front controller; the sampled student web controller reads and validates student records and returns student views. A separate controller serves static course data. The Fiber app serves three fixed text/JSON endpoints. No README or route-file contents were provided, so controller-to-route wiring and other unsampled behavior are left unspecified.

Main entry points: [`latihan-laravel/app/Http/Controllers/MahasiswaWebController.php`](https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/app/Http/Controllers/MahasiswaWebController.php) (Student Web), [`latihan-laravel/app/Http/Controllers/MahasiswaController.php`](https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/app/Http/Controllers/MahasiswaController.php) (Student Pages), [`latihan-laravel/app/Http/Controllers/MatakuliahController.php`](https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/app/Http/Controllers/MatakuliahController.php) (Course Pages), [`latihan-laravel/public/index.php`](https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/public/index.php) (Laravel Entry)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_laravel_runtime["Laravel Runtime"]
  node_laravel_entry["Laravel Entry<br/>[index.php]"]
  node_laravel_bootstrap["App Bootstrap<br/>[app.php]"]
  node_web_routes["Web Routes<br/>[web.php]"]
  node_database[("Configured Database<br/>[database.php]")]
end

subgraph group_student_domain["Student Records"]
  node_student_web["Student Web"]
  node_student_basic["Student Pages"]
  node_student_model["Student Model<br/>[Mahasiswa.php]"]
  node_program_model["Program Model<br/>[ProgramStudi.php]"]
  node_student_records_view["Student Views<br/>[data.blade.php]"]
  node_student_detail_view["Student Detail<br/>[detail.blade.php]"]
  node_student_index_view["Student Index<br/>[index.blade.php]"]
  node_student_show_view["Student Show<br/>[show.blade.php]"]
end

subgraph group_course_domain["Course Pages"]
  node_course_controller["Course Pages"]
  node_course_index_view["Course Index<br/>[index.blade.php]"]
  node_course_show_view["Course Detail<br/>[show.blade.php]"]
end

subgraph group_fiber_demo["Fiber Demo"]
  node_fiber_server["Fiber Handlers<br/>[main.go]"]
end

node_browser(("Browser"))
node_fiber_client(("HTTP Client"))

node_browser -->|"sends request"| node_laravel_entry
node_laravel_entry -->|"bootstraps app"| node_laravel_bootstrap
node_laravel_bootstrap -->|"loads routes"| node_web_routes
node_student_web -->|"queries and creates"| node_student_model
node_student_web -->|"queries via ORM"| node_database
node_student_web -->|"renders list"| node_student_records_view
node_student_web -->|"renders detail"| node_student_detail_view
node_student_basic -->|"renders list"| node_student_index_view
node_student_basic -->|"renders record"| node_student_show_view
node_course_controller -->|"renders filtered data"| node_course_index_view
node_course_controller -->|"renders course"| node_course_show_view
node_fiber_client -->|"requests endpoint"| node_fiber_server

click node_laravel_entry "https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/public/index.php"
click node_laravel_bootstrap "https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/bootstrap/app.php"
click node_web_routes "https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/routes/web.php"
click node_student_web "https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/app/Http/Controllers/MahasiswaWebController.php"
click node_student_basic "https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/app/Http/Controllers/MahasiswaController.php"
click node_student_model "https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/app/Models/Mahasiswa.php"
click node_program_model "https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/app/Models/ProgramStudi.php"
click node_student_records_view "https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/resources/views/mahasiswa/data.blade.php"
click node_student_detail_view "https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/resources/views/mahasiswa/detail.blade.php"
click node_student_index_view "https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/resources/views/mahasiswa/index.blade.php"
click node_student_show_view "https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/resources/views/mahasiswa/show.blade.php"
click node_database "https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/config/database.php"
click node_course_controller "https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/app/Http/Controllers/MatakuliahController.php"
click node_course_index_view "https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/resources/views/matakuliah/index.blade.php"
click node_course_show_view "https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/resources/views/matakuliah/show.blade.php"
click node_fiber_server "https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-fiber/main.go"

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_laravel_entry,node_laravel_bootstrap,node_web_routes,node_database,node_browser,node_fiber_client toneBlue
class node_student_web,node_student_basic,node_student_model,node_program_model,node_student_records_view,node_student_detail_view,node_student_index_view,node_student_show_view toneAmber
class node_course_controller,node_course_index_view,node_course_show_view toneMint
class node_fiber_server toneRose
```

## Components

### Laravel Runtime

- [Laravel Entry](https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/public/index.php): `latihan-laravel/public/index.php`
- [App Bootstrap](https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/bootstrap/app.php): `latihan-laravel/bootstrap/app.php`
- [Web Routes](https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/routes/web.php): `latihan-laravel/routes/web.php`
- [Configured Database](https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/config/database.php): `latihan-laravel/config/database.php`

### Student Records

- [Student Web](https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/app/Http/Controllers/MahasiswaWebController.php): `latihan-laravel/app/Http/Controllers/MahasiswaWebController.php`
- [Student Pages](https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/app/Http/Controllers/MahasiswaController.php): `latihan-laravel/app/Http/Controllers/MahasiswaController.php`
- [Student Model](https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/app/Models/Mahasiswa.php): `latihan-laravel/app/Models/Mahasiswa.php`
- [Program Model](https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/app/Models/ProgramStudi.php): `latihan-laravel/app/Models/ProgramStudi.php`
- [Student Views](https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/resources/views/mahasiswa/data.blade.php): `latihan-laravel/resources/views/mahasiswa/data.blade.php`
- [Student Detail](https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/resources/views/mahasiswa/detail.blade.php): `latihan-laravel/resources/views/mahasiswa/detail.blade.php`
- [Student Index](https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/resources/views/mahasiswa/index.blade.php): `latihan-laravel/resources/views/mahasiswa/index.blade.php`
- [Student Show](https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/resources/views/mahasiswa/show.blade.php): `latihan-laravel/resources/views/mahasiswa/show.blade.php`

### Course Pages

- [Course Pages](https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/app/Http/Controllers/MatakuliahController.php): `latihan-laravel/app/Http/Controllers/MatakuliahController.php`
- [Course Index](https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/resources/views/matakuliah/index.blade.php): `latihan-laravel/resources/views/matakuliah/index.blade.php`
- [Course Detail](https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-laravel/resources/views/matakuliah/show.blade.php): `latihan-laravel/resources/views/matakuliah/show.blade.php`

### Fiber Demo

- [Fiber Handlers](https://github.com/mzulfanr13-code/h1h024008-zulfan-pemweb2/blob/main/latihan-fiber/main.go): `latihan-fiber/main.go`

### Other components

- **Browser**
- **HTTP Client**

## Connections

- Browser → Laravel Entry: sends request
- Laravel Entry → App Bootstrap: bootstraps app
- App Bootstrap → Web Routes: loads routes
- Student Web → Student Model: queries and creates
- Student Web → Configured Database: queries via ORM
- Student Web → Student Views: renders list
- Student Web → Student Detail: renders detail
- Student Pages → Student Index: renders list
- Student Pages → Student Show: renders record
- Course Pages → Course Index: renders filtered data
- Course Pages → Course Detail: renders course
- HTTP Client → Fiber Handlers: requests endpoint
